问题描述
vue开发的时候,发现get请求的参数值为null,这个参数会被删除掉,在后端检查这个参数时不存在就会报错。
Example:
入力参数: { foo: null, bar: "baz", qux: undefined }
变换后的参数: ?bar=baz
foo被删除了,后台参数检查时发现foo不存在,就会报错
参照
https://github.com/axios/axios/issues/1139
这个问题在axios:release/1.0.0-beta.1中被修改,但是没有反映到稳定版中
https://github.com/axios/axios/pull/1987
解决方案
1.这个问题在release/1.0.0-beta.1据说解决了,但是不敢使用测试版
2.使用qs模块替换axios中有问题参数序列化模块
axios官网也推荐使用qs来代替原来的模块,原来的模块还有其他问题,比如说嵌套对象也会出问题https://github.com/nodejs/node-v0.x-archive/issues/1665
https://github.com/axios/axios#config-defaults
// `paramsSerializer` is an optional function in charge of serializing `params`
// (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)
paramsSerializer: function (params) {