需求:要发送一个post请求,需要传给后台的参数如图:如果我用jquery的post来实现,如图:查看network如下:如果使用axios来请求:查看network如下:都是form Data,为什么不一样呢?用axios请求就不成功,$.post就可以。我看了axios的文档,需要使用transformRequest来处理一下传入参数。但是为什么$.post就不用呢?我查了一下别人的解释,说是什么请求体什么的,不是很懂!谁能给解析一下背后的原理?
3 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
因为jquery的诞生就是搞兼容的,他不但解决了浏览器兼容,还将一些格式做了兼容。比如你这里想用axios的post,使用x-www-form-urlencoded形式,jquery在接收这个格式的时候,对其做了处理,实现你得知道form-rtlencoded与json的请求形式的区别:
x-www-form-urlencoded:a=b&c=d;
json:{"a":"b","c":"d"}
也许你已经看懂了,axios之所以报错,是因为请求格式与请求数据格式不匹配,axios不会自己转换请求数据格式,怎么办?自己转换呗
添加回答
举报
0/150
提交
取消