需求:使用axios库用来做http数据传输。
问题:传递数据的时候不是直接通过json的方式来传输的数据,二是通过formData的方式
解决:
axios 请求头设置,Content-Type
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
往后台传递参数的时候用 qs.stringify()处理:
config.data = Qs.stringify(config.data);
当遇到参数中有 数组对象嵌套时,需要用 JSON.stringify进行包裹:
javascript
{
sbumen:sbumen,
strjsoninfo:JSON.stringify({ infolist: caiGouNeiRongFormArr }),
}
caiGouNeiRongFormArr 是一个数组对象,类似:
javascript
[
{a:1,b:2},
{a:3,b:4}
]
在axios中统一配置:
javascript
ajax.interceptors.request.use((config) => {
console.log(config);
config.data = Qs.stringify(config.data);
(config.headers = {
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
}),
return config;
});