问题描述
在开发工作中遇到这样一个问题,后端接口定义的接口的格式为post,但是请求方式为form格式,先设置header中的Content-Type为application/x-www-form-urlencoded,并且在network中看到传参格式为form,但是后端接收到的数据却为空。
解决过程
请求发送后,我打开控制台一看,content-type,然后也是form data,没问题呀,妥妥的form格式传参呀,但是后台就是接收不到数据,我一度怀疑是后台键名是不是写错了,但是用postman测接口一点毛病都没有,哈哈哈,就肯定排除了人家那边的问题了,后来参考网上的一篇文章才发现问题,
原来axios在发送请求的时候会自动对数据进行一次JSON转换。所以我们虽然在network里面看到传参格式为form data,但是实际上并不是form格式,而是转成了json,我们可以看到控制台的form data 后面有个:,是因为转成json后作为键名,对应的键值并没有,而是空,所以后台接不到数据,
既然找到了问题所在,那么就好解决了,
继续看axios的文档。
哈哈哈,找到办法了,axios提供了属性