- 如果后端要的是formdata的格式的数据
- 直接传的话
Payload Content-Type: 'application/json; charset=utf-8'
是这样请求头
Form Data Content-Type: 'application/x-www-form-urlencoded'
formdata是这样的请求头
就算是formdata的请求头
传上去的数据格式虽然是formdata但是内容会被axios底层转换成普通的格式
我们想通过axios 提交FromData,需要用到qs库(这个库不用npm下载,直接引用即可),
qs是一个url参数转化(parse和stringify)的js库。
qs.stringify() 和JSON.stringify() 作用相似,都是序列化,但他们完全不是一个东西,
假设我要提交的数据是: let a = {name:'hehe',age:10};
qs.stringify(a)序列化结果为 name=hehe&age=10
而JSON.stringify序列化结果为: {"name":"hehe","age":10} 转成字符串
使用 application/x-www-form-urlencoded format 使用这种请求头 发送法数据就是 FromData格式
默认情况下,axios将JavaScript对象序列化为JSON。 要以application / x-www-form-urlencoded格式发送数据,您可以使用以下选项之一。
这里我们是采用的ES6 语法 引入 的qs模块
PS: qs是跟随axios一块来的
this.$axios({
url: '/je/mv/load',
method: 'post',
data: qs.stringify({ // 需要stringify一下
funcCode: 'JY_VP_SZ',
funcId: 'Dxpxlg3X7AtS9lxpdWn',
columnLazy: true,
mark: false,
funcEdit: false,
postil: '',
funcEdit: false,
tableCode: 'JY_VP_SZ',
_isFunc_: true,
dbQueryObj: {}
})
})