我正在使用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列“名称”不能为空。
但是当我将方法更改为POST时,无论是在我的Vue文件还是web.php中,它都有效,这是怎么回事?我需要使用两种方法:发布新数据和补丁更新。我该怎么办?
答案 0 :(得分:3)
Http patch
方法不支持FormData
。因此,要么提交JSON请求,要么将您的路由方法更改为post
。另外,如果必须使用patch
方法,则可以提交带有附加属性axios.post
的{{1}},然后可以处理_method: 'patch'
的请求。