当前位置: 首页 > 面试题库 >

当通过AJAX在Laravel资源上使用PUT时,不允许使用该方法

劳宇
2023-03-14
问题内容

我在routes.php中有此资源:

Route::resource('items', 'ItemsController', ['before' => 'admin_access']);

尝试ItemsContoller@update通过AJAX 达到方法,但踢出一个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();
        }
    }
});

无论是iddata变量包含正确的信息。

当我使用PUT作为方法(使用anahkiasen/Former开瓶器方法)进行标准表单提交时,此方法效果很好。

我在这里想念什么?


问题答案:

大多数浏览器无法发送PUT方法,并且仅限于GET和POST。

尝试将方法更改为POST,但将_method元素保留在data数组中以欺骗请求方法。



 类似资料:
  • 问题内容: 我有一个非常奇怪的问题,我使用AJAX从html页面发送电子邮件,该html页面链接到我在SAME网站中拥有的PHP页面。仅当我使用链接到此IP地址的DNS时,以IP模式进入网站时,AJAX请求才能正常工作: 这是AJAX请求: 问题答案: 我终于找到了问题,由于我缺乏服务器和相关知识,我不知道怎么没看到。长话短说:我在服务器上安装了Wamp,我使用IP + Port访问它,但是当我使

  • 该代码在我的本地开发环境中运行良好,但在我将其上载到服务器时,给出了一个异常。这个问题和这个问题的解决方案对我不起作用。 这是控制器。 这是routes文件中的相应条目。 这里是对URL的AJAX调用。 这就是示例测试用例的数据。 我如何克服这个错误,为什么这只发生在生产中? 值得注意的是,我在整个应用程序中还有其他对路由的AJAX调用,它们工作得很好。

  • 我不知道PATCH和PUT方法之间的确切区别。有人能告诉我什么时候我们应该用适当的例子来使用这个方法吗?

  • 问题内容: 我试图发出一个简单的AJAX请求来填充Laravel中的菜单,但是,要使其正常工作,我遇到了很多麻烦。 我不确定是什么问题,经过几个小时的搜索,我找不到任何可以帮助的东西。 这是我的AJAX请求: 我到AJAX回调的路线: 和我的控制器来处理ApiController中的AJAX回调: 发送AJAX请求时,它会在错误参数中返回失败消息,并在控制台中告诉我: 研究此错误消息,是由于向其他

  • 我正在尝试使用Tomcat 7和Jersey 2构建一个简单的REST JSON api。所有的工作都做得很好。但投递/推杆返回了令人恐惧的405。 我知道这是一个很受欢迎的问题。但我已经研究了所有其他答案,它们对我的情况没有帮助。 我正在本地Linux工作站上运行它。我正在使用真正的Oracle JDK、Eclipse Mars、Tomcat 7和Maven来处理依赖关系。 作为同一个应用程序的

  • 这是我的jQuery代码,我用它来做一个Ajax请求: 这是我写的路线代码: 每当我在这个URL上发布ajax请求时,它都会给我一个405(不允许使用方法)。 为什么会发生这种错误?