我在routes.PHP中有这个资源:
Route::resource('items','ItemsController',['before' => 'admin_access']);
试图通过AJAX到达ItemsContoller @ update方法,但它正在推出405方法不允许的错误:
var $inputs = $('input',row);
var id = $(row).find('.edit').data('id');
var data = $inputs.serializeJSON();
data['_token'] = $('input[name=_token]').val();
data['_method'] = 'PUT';
console.debug(data);
$.ajax({
url: 'items/' + id,method: 'PUT',dataType: 'json',data: data,complete: function (data) {
if (data.success) {
itemsTable.ajax.reload();
}
}
});
id和data变量都包含正确的信息.
当我使用PUT作为方法(使用anahkiasen / Former opener方法)进行标准表单提交时,这很好用.
我在这里想念的是什么?
解决方法
大多数浏览器无法发送PUT方法,仅限于GET和POST.
尝试将方法更改为POST,但将_method元素保留在数据数组中以欺骗请求方法.