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对象的方法来解决
或者
const req = (method, data:qs.stringify(params,{ arrayFormat: 'brackets' }), });
};