axios请求提交的form data格式 明明是JSON格式的参数却转成了字符串格式
问题:传的参数成为了字符数格式
解决:把参数的格式转换
const params = new URLSearchParams() params.append('USER_LOGIN', 'admin') params.append('PASS_WORD', '123456') params.append('LOGTYPE', '')
然后就OK了,如下:
我们总不能在每个接口请求时候单独去转换格式吧,这样子贼费劲,也不好维护,那么我们在请求封装时候封装一下cinfig data就可以了:
// 请求拦截器 service.interceptors.request.use( config => { // 请求前 // console.log(config.data) const params = new URLSearchParams() for (const key in config.data) { if (config.data.hasOwnProperty(key)) { params.append(key, config.data[key]) } } config.data = params return config }, error => { // 做一些请求错误 } )
我就这样封装,目前个人解决方法就如此,每次请求时候都能自己转换了。