解决axios的post请求发送form格式数据,后台接收不到问题

当使用axios进行POST请求时,尽管设置Content-Type为application/x-www-form-urlencoded并显示form data格式,但后端仍无法接收到数据。原因是axios默认将数据转换为JSON。解决方法是在axios配置中使用qs库处理数据,确保以form格式发送。
摘要由CSDN通过智能技术生成

问题描述

在开发工作中遇到这样一个问题,后端接口定义的接口的格式为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提供了属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值