[聚合文章] Axios 使用时遇到的问题

vue.js 2018-01-16 22 阅读

最近使用 vue 构建一个小项目,在使用 axios 发送 post 请求的时候,发现 axios 发送数据默认使用 json 格式,百度搜了下,更改 ContentType 不管用,最终问题原来是: post 的传参需要序列化,不然服务端不会正确接收数据,终于找到两种方法解决:

方法一:使用 JSON.stringify( )

URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串;
JSON.stringify( )用于从一个对象解析出字符串。
在 vue 项目中,发送的参数定义为 param,

let param = new URLSearchParams()
param.append("bizContent", JSON.stringify(bizContent))
axios.post(httpUrl.getDatas, param)

方法二:使用 qs 库

首先要安装 qs,然后在项目中引用:
import qs from 'qs'
同样,我们使用 qs.stringify( ) 这个方法处理 post 请求中需要发送的数据

相比较

相比较这两种方法,功能都是序列化,但是处理出来的结果还是不一样的,使用的时候还要看服务器的要求,下面的传送门大家可以了解两者序列化的结果有何不同: 传送门

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。