使用 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
请求。
我正在使用 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
请求。