【问题标题】:Upload using axios and patch method doesnt work使用 axios 和补丁方法上传不起作用
【发布时间】:2019-11-11 07:01:04
【问题描述】:

我正在使用 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 中它都有效,发生了什么?我需要使用这两种方法:发布新数据和更新补丁。我能做什么?

【问题讨论】:

  • 显示你的控制器
  • 它是axios.post_method: 'patch'axios.patch 不支持。
  • 您是否尝试过同时切换到put(客户端/服务器)?

标签: javascript laravel vue.js axios form-data


【解决方案1】:

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

【讨论】:

  • 如何提交 JSON 请求?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多