我正在尝试使用 jQuery 进行 POST 请求,但我收到错误 405(不允许的方法),我正在使用 Laravel 5
这是我的代码:
jQuery
<script type="text/javascript">
$(document).ready(function () {
$('.delete').click(function (e){
e.preventDefault();
var row = $(this).parents('tr');
var id = row.data('id');
var form = $('#formDelete');
var url = form.attr('action').replace(':USER_ID', id);
var data = form.serialize();
$.post(url, data, function (result){
alert(result);
});
});
});
</script>
HTML
{!! Form::open(['route' => ['companiesDelete', ':USER_ID'], 'method' =>'DELETE', 'id' => 'formDelete']) !!}
{!!Form::close() !!}
Controller
public function delete($id, \Request $request){
return $id;
}
Jquery 错误是 http://localhost/laravel5.1/public/empresas/eliminar/5 405(不允许的方法)。
url值为
http://localhost/laravel5.1/public/empresas/eliminar/5
数据值为
_method=DELETE&_token=pCETpf1jDT1rY615o62W0UK7hs3UnTNm1t0vmIRZ.
如果我更改为 $.get
请求,它可以正常工作,但我想做一个发布请求。
谁能帮帮我?
谢谢。
编辑!!
路线
Route::post('empresas/eliminar/{id}', ['as' => 'companiesDelete', 'uses' => 'CompaniesController@delete']);
最佳答案
methodNotAllowed
异常表示您请求的 HTTP 方法不存在路由。
您的表单设置为发出 DELETE
请求,因此您的路线需要使用 Route::delete()
来接收此请求。
Route::delete('empresas/eliminar/{id}', [
'as' => 'companiesDelete',
'uses' => 'CompaniesController@delete'
]);
关于php - 错误 405(不允许的方法)Laravel 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31622818/