**原生Ajax,JQuery中的Ajax,vue中的axios请求中发送数据格式问题 **
-
原生Ajax
a. get 方式请求
不需要设置请求头部,参数转换为查询字符串拼接到URL上
b. post方式请求
参数设置在new XMLHttpRequest().send()中
发送表单格式数据,需要设置请求头部为:’Content-type‘:‘application/x-www-form-urlencoded’,数据也要为表单格式数据:通过qs.stringify()转换;
发送json格式数据,需要设置请求头部为:‘Content-type’:‘application/json’,数据也要为json格式数据:通过JSON.stringify()转换 -
jquery中Ajax
默认发送表单格式数据
a. get方式请求
不需要设置请求头部,参数对象存放在$.ajax({data:})的data中,jquery会自动将参数转换为查询字符串拼接到URL上
b. post方式请求
发送表单格式数据,不需要设置请求头部,参数对象存放在data中,jquery会自动将参数转换为表单格式数据并存放到请求体中;
发送json格式数据,需要设置请求头部为:‘Content-type’:‘application/json’,参数对象转换为json字符串放到data中即JSON.stringify(),jquery会将参数放到请求体中 -
vue中axios
默认发送json格式数据(不需要过多关注请求头部的设置)
a. get方式请求
参数带在axios({params:{}})中的params上
b. post方式请求
参数带在axios({data:})中的data上
发送表单格式数据,qs.stringify()转数据即可
发送json格式数据,发送js对象即可,axios会自动转换