不允许使用Vue.js PATCH方法

时间:2017-04-04 11:41:50

标签: laravel-5 vue.js patch

大家好,每个POST和GET方法都在处理我的应用程序,但PATCH方法却没有。在我的WAMP服务器上一切正常。在VPS服务器上 - 不要。我不允许405方法。

我正在使用:Laravel 5.4,Vue.js 2.

补丁方法:

axios.patch('/profile/' + this.profile.id + '/update', this.overview)
.then(resp => {
    this.successDataSave(resp.data)
})

路线:

Route::patch('/profile/{profile}/update', 'AppController@update');

编辑:PATCH方法只对axios有效,如果我在html表单上使用patch路由,{{method_field('PATCH')}}就可以了。

2 个答案:

答案 0 :(得分:2)

使用{{ method_field('PATCH') }}生成以下html:     <input type="hidden" name="_method" value="PUT">

请尝试设置:this.overview._method = "PUT"

然后做一个帖子:

axios.post('/profile/' + this.profile.id + '/update', this.overview)
    .then(resp => {
        this.successDataSave(resp.data)
})

答案 1 :(得分:0)

使用以下用于所有CRUD操作的路线替换您的路线:

Route::resource('/profile', 'AppController@update');

您可以查看文档以获取更多信息

resourceController