使用Axios和补丁方法上传不起作用



我正在使用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');

错误

完整性约束违规:1048列"名称"不能为null。

但是,当我更改发布的方法时,在我的vue文件和web.php中都起作用时,发生了什么?我需要使用这两种方法:发布新数据和修补程序以进行更新。我该怎么办?

http patch方法不支持 FormData。因此,要么提交JSON请求,要么将路由方法更改为post。另外,如果必须具有patch方法,则可以提交具有其他属性_method: 'patch'axios.post,然后可以处理FormData请求。

最新更新