axios中params和data的区别

在接触到一个项目写接口时以为params和data没区别,把自己坑惨了,一直以为是配置不对,怎么改都不对

查了一堆资料才发现两者完全不同

 

params是添加到url的请求字符串中的,用于get请求。 

data是添加到请求体(body)中的, 用于post请求。

1、HTTP请求过程中,get请求:表单参数以name=value&name1=value1的形式附到url的后面;
2、post请求:表单参数是在请求体中,也是name=value&name1=value1的形式在请求体中。
POST表单请求提交时,使用的Content-Type是application/x-www-form-urlencoded,而使用原生AJAX的POST请求如果不指定请求头RequestHeader,默认使用的Content-Type是text/plain;charset=UTF-8。
在html中form的Content-type默认值:Content-type:application/x-www-form-urlencoded
如果使用ajax请求,在请求头中出现 request payload导致参数的方式改变了 ,那么解决办法就是:
headers: {'Content-Type':'application/x-www-form-urlencoded'}
或者使用ajax设置:
$.ajaxSetup({contentType: 'application/x-www-form-urlencoded'});
这样,问题就可以解决。
posted @   Fujijill  阅读(527)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示