axios发送params和data的区别

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

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

1、在HTTP请求时,get请求 表单参数是拼接在url后面www.baidu.com?query=&pagenum=1&pagesize=5
2、post请求 表单参数是在请求体中 也就是 ?query=&pagenum=1&pagesize=5 在请求体中 就是{query: "", pagenum: 1, pagesize: 5}
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'}

// application/x-www-form-urlencoded 在发送前编码所有字符(默认)
// multipart/form-data 不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
// application/json 作为请求头告诉服务端消息主体是序列化的JSON字符串。除低版本的IE,基本都支持。
// text/plain 空格转换为 “+” 加号,但不对特殊字符编码。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容