此路由不支持 PUT 方法。 Vue/laravel

Posted

技术标签:

【中文标题】此路由不支持 PUT 方法。 Vue/laravel【英文标题】:The PUT method is not supported for this route. Vue/laravel 【发布时间】:2021-11-30 20:19:52 【问题描述】:

当我尝试更新产品时,我的 vue 组件出现问题,它返回错误 put method is not supported... 但应该支持。

我的 EditProduct.vue

<form @submit.prevent="submitForm">
   <div class="form-group row">
     <label for="name" class="col-md-4 col-form-label text-md-right">Name:</label>
     <input type="text" name="name" id="name" v-model="product.name">
   </div>
   <div class="form-group row">
     <label class="col-md-4 col-form-label text-md-right">Description:</label>
     <textarea name="description" cols="20" rows="5" v-model="product.description"></textarea>
   </div>
   <div style="display: flex; justify-content: center">
     <button type="submit">Save</button>
   </div>
</form>

我的提交方法:(我尝试了 axios.post 的补丁/安装但它仍然不起作用)

    submitForm()
        let data = new FormData();
        data.append('_method', 'PUT');
        data.append('id', this.product.id);
        data.append('name', this.product.name);
        data.append('description', this.product.description);
        axios.post('edit', data)
        .then( (response) => 
            console.log("success");
        )
    

我的 api 路由:

Route::put('/edit', [ProductController::class, 'update']);

我在这里做错了什么?

【问题讨论】:

【参考方案1】:

当我发布问题时,我意识到 axios 的 url 是错误的,它应该是错误的

/api/编辑

它现在可以工作了:)

【讨论】:

以上是关于此路由不支持 PUT 方法。 Vue/laravel的主要内容,如果未能解决你的问题,请参考以下文章

Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 此路由不支持 GET 方法。支持的方法:PUT

laravel向我显示此错误此路由不支持POST方法。支持的方法:GET,HEAD,PUT,DELETE

此路由不支持 PUT 方法。支持的方法:GET、HEAD、POST。在 laravel 中

Laravel 6.0 不支持 DELETE、PUT 方法

PUT 方法在表单中不起作用会引发错误

laravel 不支持 put 方法