发布于 
pv: - | uv: -

Uview UI Http请求中将 Object 转换为 FormData

需求

这边我们遇到的问题是,在 Uniapp 中使用 uView 的 this.$u.post 向服务端发送请求时,在data中传入了一个对象’param’,但是服务端返回 missing param(缺少参数),在 dev工具中发现,param 的值变成了 [Object Object].

raw

而我们希望传输的是param[‘key’]: value.

如何解决?

在网上找了一大堆教程后,终于找到了解决方案,在这里需要使用qs库,在安装好扩展库中,直接在请求拦截中,将 config.data 序列化(Qs.stringify)

1
2
import Qs from 'qs' //引入qs库
config.data = Qs.stringify(config.data)

并且设置请求Header为

1
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'

至此便可以成功发送请求了.

then