道者编程

Laravel表单RESTFul风格提交方法

1:HTMLForms只支持POST和GET,而RESTFull方法有: GET, POST, PUT, PATCH, DELETE等几种。要支持其他方法怎么办?

如果要加入其他方法,Laravel的做法是在from里增加一个隐藏字段:_mothod。

比如PUT:<input type="hidden" name="_method" value="PUT/>;


2:定义资源路由

Route::resource('article', 'ArticleController');
定义这一个路由,laravel实际包含了七个路由:

请求方法请求URI对应的控制器方法代表的意义
GET/articleindex索引/列表
GET/article/createcreate创建(显示表单)
POST/articlestore保存你创建的数据
GET/article/{id}show显示对应id的内容
GET/article/{id}/editedit编辑(显示表单)
PUT/PATCH/article/{id}save(5.5以后版本是:update)保存你编辑的数据
DELETE/article/{id}destroy删除
相应的ArticleController控制器中包含这七个方法


附:Jquery模拟PUT/PATCH/DELETE方法:

1:$.ajax 中的dataType中设置,比如dataType:PUT (这种方法有些浏览器可能不支持)

2:put和delete其实都是post请求,也可以通过POST带_method参数

$.post("/goods/"+id,{'_method':'DELETE','_token':'{{ csrf_token() }}'},function(result){
	if(result.status == 200){
		alert('删除成功');
	}else{
		alert('删除失败');
	}
	window.location.reload(); //刷新页面
  },'json');
laravel的POST还要记得_token


最新评论:
我要评论:

看不清楚