我在routes.php中有此资源:
Route::resource('items', 'ItemsController', ['before' => 'admin_access']);
尝试ItemsContoller@update通过AJAX 达到方法,但踢出一个405 Method not allowed错误:
ItemsContoller@update
405 Method not allowed
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变量包含正确的信息。
id
data
当我使用PUT作为方法(使用anahkiasen/Former开瓶器方法)进行标准表单提交时,此方法效果很好。
anahkiasen/Former
我在这里想念什么?
大多数浏览器无法发送PUT方法,并且仅限于GET和POST。
尝试将方法更改为POST,但将_method元素保留在data数组中以欺骗请求方法。
_method