QS是一个第三方库,我们可以用npm install qs --save
来安装。
工具的名字:QS,即Query String,请求参数字符串。
什么是请求参数字符串?例如: name=jack&age=21
QS工具可以便捷的实现 JS的Object与QueryString的转换。
在我们的项目中,将QS注入到了Vue的原型对象中,我们可以通过this.$qs来获取这个工具:
我们将this.$qs对象打印到控制台:
代码语言:javascript复制created(){
console.log(this.$qs);
}
发现其中有3个方法:
这里我们要使用的方法是stringify,它可以把Object转为QueryString。
测试一下,使用浏览器工具,把qs对象保存为一个临时变量temp1,然后调用stringify方法:
成功将person对象变成了 name=zhangsan&age=30的字符串了
解决问题
修改页面,对参数处理后发送:
然后再次发起请求,发现请求成功:
axios处理请求体的原则会根据请求数据的格式来定:
- 如果请求体是对象:会转为json发送
- 如果请求体是String:会作为普通表单请求发送,但需要我们自己保证String的格式是键值对。如:name=jack&age=12
附:
数据格式是JSON格式。