使用 axios 和 patch 方法上传不起作用

Upload using axios and patch method doesnt work

我正在使用 Laravel 5.8 和 Vue.js 2,这是我的 .vue 文件:

let data = new FormData();                           
data.append('name', this.name);
data.append('image',this.image)
data.append('_method', 'PATCH');
axios.patch('/url/' + this.id, data)                        
                     .then(({data}) => {                

                    })
                     .catch((error) => {

                    }); 

路线

Route::patch('/url/{id}', 'CarsController@update');

错误

Integrity constraint violation: 1048 Column 'name' cannot be null.

但是当我将方法更改为 POST 时,在我的 vue 文件和 web.php 中它都有效,发生了什么?我需要使用两种方法:post 用于新数据和补丁用于更新。我能做什么?

Http patch 方法不支持 FormData。因此,要么提交 JSON 请求,要么将您的路由方法更改为 post。此外,如果 patch 方法是必须的,那么您可以提交带有附加属性 _method: 'patch'axios.post,然后可以处理 FormData 请求。