vue项目,axios的data配置,请求失败

用vue写的项目,axios发送post请求,后端需要传递请求主体,只要加上data配置项,就请求失败,一直请求pending,去掉data就请求成功,但无法传递请求主体,这是怎么回事,后端说是parse不了

clipboard.png

阅读 4.4k
3 个回答

1.加入配置:axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'
2.引入:import Qs from 'qs'
3.post请求中,需要将数据序列化:data: Qs.stringify(params),

使用qs库来格式化数据试试

axios post请求需要用拦截器处理下参数

import qs from 'qs'
// 添加请求拦截器
Axios.interceptors.request.use((config) => {
    //在发送请求之前做某件事
    if(config.method  === 'post'){
        config.data = qs.stringify(config.data);
    }
    return config;
},(error) =>{
    // 对请求错误做些什么
    console.log("错误的传参")
    return Promise.reject(error);
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题