Axios get 请求中 Json 字符串中括号没有编码
今天重构原来业务代码,将原先 JSP 页面重构到 VUE 项目中,请求老接口时报了 400 错误。经过对比发现是因为 Axios 没有转义:
没有正确转码的请求:
正确转码的请求:
原先代码如下:
this.$axios
.get(this.$pmsPath + '/*********/updateDepartment.do', {
params: {
filter: JSON.stringify(param)
}
})
解决方案
更改 axios 默认的编码行为
第一步:安装 qs
npm install --save qs
第二步:更改 axios 编码行为
this.$axios
.get(this.$pmsPath + '/*********/updateDepartment.do', {
params: {
filter: JSON.stringify(param)
},
paramsSerializer: function (p) { //固定写法
return qs.stringify(p, {arrayFormat: 'repeat'})
}
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: JavaScript 中的类使用方法
下一篇: 谈谈自己对于 AOP 的了解
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论