在vue中使用axios提交post请求出现大括号和冒号的坑

先把出现问题的地方贴上来
在vue中使用axios提交post请求出现大括号和冒号的坑_第1张图片,这是我在vue项目中的代码,在这个注册功能中,会向后台发送数据,这里不能直接将postData传到后台,否则会报错,所以这个地方使用了JSON.stringify()对数据进行序列化。后台接收到数据后我尝试打印出来,结果让我非常难受。打印的结果如下所示,
,将接收到的数据打印出来后,发现居然在外面多了一个大括号,这都什么玩意。而且前端控制台接收到的数据是这样的
数据的后面多了一个冒号。
这个问题我搜了很多文章,最后在一篇文章里有提到,这个地方我们传输的实际上是json格式的数据,而在后台设置跨域的时候,有这样一行代码
,说明后台接收的格式是表单形式的,显然这跟前端传过来的数据的格式不相符,为了解决这个问题。引入qs这个库


qs.stringify()的作用在于将对象格式的数据转换成username=admin&password=admin这种格式,而这种格式也正是表单的格式,因此前后端的数据格式的交互就一致了

通过在前端的项目目录下用npm install qs --save来安装这个依赖,之后在项目中导入使用

在vue中使用axios提交post请求出现大括号和冒号的坑_第2张图片,此时我们将上面的JSON换成qs再来发送请求。
结果
后台显示

浏览器控制台显示


到这里问题就解决了。

你可能感兴趣的:(在vue中使用axios提交post请求出现大括号和冒号的坑)