vue的axios请求改变content-type为form-data问题
短信预约 -IT技能 免费直播动态提醒
axios请求改变content-type为form-data
代码如下:
正常效果
axios无法发送‘Content-Type‘: ‘multipart/form-data‘请求
我这里写的是纯粹的前端解决方案
按照一般的写法
const req = (method, url, params) => {
return axios({
method: "POST",
url: url,
headers: {
'Content-Type': 'multipart/form-data',
Token: localStorage.logintoken
},
data:params,
});
};
封装完成以后你会发现后台并不能接受到你发送的数据,这是由于你发送的是request payload 但是后台做的接受是 formdata 你当然可以让你的后台小伙伴帮你修改
但是同样你可以通过qs和URLSearchParams对象的方法来解决
let params = new URLSearchParams();
//你要传给后台的key-value对
params.append('key','value');
或者
const req = (method, url, params) => {
return axios({
method: "POST",
url: url,
headers: {
'Content-Type': 'multipart/form-data',
Token: localStorage.logintoken
},
data:qs.stringify(params, { arrayFormat: 'brackets' }),
});
};
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341