一、刚创建一个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()
结果正确,问题解决