首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过AJAX收到补丁请求时收到405 (不允许使用方法)

通过AJAX收到补丁请求时收到405 (不允许使用方法)
EN

Stack Overflow用户
提问于 2016-05-06 09:47:48
回答 2查看 3.6K关注 0票数 0

我正在尝试通过一个使用Laravel 5.2的表单使用AJAX调用来更新用户条目。当我在不使用AJAX的情况下提交表单时,新条目会像预期的那样进入数据库,但是如果我通过一个补丁AJAX请求来尝试它,我会收到一个405 (不允许的方法)错误。

下面是我表单的第一行:

代码语言:javascript
复制
{!! Form::open(['method' => 'PATCH', 'action' => ['ProjectsController@foo', 1]]) !!}

下面是AJAX调用:

代码语言:javascript
复制
$.ajax
({
    url: '/foo/update/1',
    type: 'PATCH',
    dataType: 'json',
    success: function(response)
    {
        alert('inside AJAX function');
        console.log('inside AJAX leader button');
    }
});

当我尝试将方法类型更改为PUT时,我收到相同的错误,并且当我将其更改为PUT/PATCH时,AJAX调用不会被触发。当我将方法更改为POST时,我收到一个错误500,方法未找到异常,因为更新方法不是post方法。我使用下面这一行来创建所有的RESTful方法:

代码语言:javascript
复制
Route::resource('foo', 'FooController');

我知道我可以尝试使用POST方法使其工作,但我想了解更多的补丁。如果你有任何可以帮助我解决这个问题的信息,我将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2016-05-06 09:52:33

这意味着端点不允许补丁请求。根据RFC2016,还应该返回一个Allowed头,以及一个允许的请求方法列表,所以检查一下这个头,你就会知道你可以使用哪些方法。

票数 0
EN

Stack Overflow用户

发布于 2018-09-25 21:17:22

Patch需要一个body;如果您正在更新记录,则需要为Patch提供一个body。在您的情况下,它可以是一个空对象!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37062960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档