【发布时间】:2015-10-16 08:19:18
【问题描述】:
我在 routes.php 中有这个资源:
Route::resource('items', 'ItemsController', ['before' => 'admin_access']);
试图通过 AJAX 访问 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 变量都包含正确的信息。
当我使用 PUT 作为方法(使用anahkiasen/Former opener 方法)进行标准表单提交时,这很好用。
我在这里错过了什么?
【问题讨论】:
-
从错误消息(似乎来自服务器)和我读过的关于 Laravel 的少量信息来看,这似乎是您的 PUT 请求 URL 和您的路由处理程序不是对齐,因此 Laravel 没有找到该组合的处理程序,因此返回 405。
标签: jquery ajax laravel laravel-4 laravel-routing