记一次诡异的axios发送post请求出现400异常

封装的post方法

export const postRequestApi = (url, params) => {
  let param = url.indexOf('gcwwwifc') > -1 ? params : {Json: JSON.stringify(params)}
  return axios({
    method: 'post',
    url: `${base}${url}`,
    data: param, 
    transformRequest: [function (data) {
      let ret = ''
      for (let it in data) {
        ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
      }
      return ret
    }],
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
}

后端接收参数是通过request.getParamter('Json')

采用data传参封装在请求的body中,后端拿不到参数;

采用params传参开发环境后端可接收到参数,但在生产环境报错400,怀疑是webpack代理出现问题;

临时解决方案:

开发环境params,生产环境data

猜你喜欢

转载自blog.csdn.net/m0_37293343/article/details/88596111
今日推荐