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 => {
    // 做一些请求错误
  }
)

我就这样封装,目前个人解决方法就如此,每次请求时候都能自己转换了。

原文地址:https://www.cnblogs.com/lwming/p/11976210.html