最近使用 vue 构建一个小项目,在使用 axios 发送 post 请求的时候,发现 axios 发送数据默认使用 json 格式,百度搜了下,更改 ContentType 无论用,最终问题原来是: post 的传参须要序列化,否则服务端不会正确接收数据,终于找到两种方法解决:vue
URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串;
JSON.stringify( )用于从一个对象解析出字符串。
在 vue 项目中,发送的参数定义为 param,ios
let param = new URLSearchParams() param.append("bizContent", JSON.stringify(bizContent)) axios.post(httpUrl.getDatas, param)
首先要安装 qs,而后在项目中引用:
import qs from 'qs'
一样,咱们使用 qs.stringify( ) 这个方法处理 post 请求中须要发送的数据json
相比较这两种方法,功能都是序列化,可是处理出来的结果仍是不同的,使用的时候还要看服务器的要求,下面的传送门你们能够了解二者序列化的结果有何不一样: 传送门axios