Content-Type引起axios请求数据类型格式不为json

一、刚创建一个vue新项目,使用axios做网络请求

1、返回值。
在这里插入图片描述
2、请求数据
在这里插入图片描述

二 、根据返回值来说,ajax请求没啥问题,那肯定是请求参数的问题。
仔细观察数据发现,参数类似json格式,但又不是json格式,因为formData后面有一个冒号’:‘,很显然,我们上传的参数是没问题的,所以就查各种数据,经过半天的努力。最后得出一个结论:axios会将为Content-Type为x-www-form-urlencoded的参数转换格式
Content-Type: application/x-www-form-urlencoded; 
但是Content-Type又是后端规定的,好几个项目都在用,又不能改。
三、解决方案
引入qs.js将数据在发起请求之前给转换一下,就能完美避过这个坑
没有安装的需要 npm i qs
 npm i qs 

js请求

import axios from "axios";
import qs from "qs";

let url = '请求接口地址'
let data = qs.stringify(params);
axios.post(url,data).then().catch()

结果正确,问题解决
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值