axios常见传参方式_axios中get/post/put/patch请求
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
1:get请求
一般发送请求是这么写
axios.get('/user?id=12345&name=user')
.then(function (res) {
console.log(res);
}).catch(function (err) {
console.log(err);
});但是为了方便全局统一调用封装的axios
axios.get('/user', { //params参数必写 , 如果没有参数传{}也可以
params: {
id: 12345,
name: user
}
})
.then(function (res) {
console.log(res);
})
.catch(function (err) {
console.log(err);
});2.post/put/patch请求
(1) 传参格式为 formData
(全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')
(request的Header:'Content-Type'= 'multipart/form-data')
var formData=new FormData();
formData.append('user',123456);
formData.append('pass',12345678);
axios.post("/notice",formData)
.then((res) => {return res})
.catch((err) => {return err})(2) 传参格式为 query 形式
(全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')
(request的Header:'Content-Type'= 'application/x-www-form-urlencoded')
第一种情况:使用$qs.stringify
import Qs from 'qs' //引入方式
vue.prototype.$qs = Qs //全局加载
this.$qs.stringify(data); //使用方式
this.$qs.parse(data); //使用方式
var readyData=this.$qs.stringify({
id:1234,
name:user
});
axios.post("/notice",readyData)
.then((res) => {return res})
.catch((err) => {return err})更多qs功能参考:https://www.npmjs.com/package/qs
第二种情况:使用URLSearchParams
在浏览器中,您可以使用URLSearchParams api,如下所示:
var params = new URLSearchParams();
params.append('param1', 'value1');
params.append('param2', 'value2');
axios.post('/foo', params);注意:所有浏览器都不支持URLSearchParams,但是有一个polyfill可用(确保polyfill全局环境)。
(3) 传参格式为 raw (JSON格式)
第一种情况: axios将JavaScript对象序列化为JSON
(全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')
(request的Header:'Content-Type'= 'application/json;charset=UTF-8')
var readyData={
id:1234,
name:user
};
axios.post("/notice",readyData)
.then((res) => {return res})
.catch((err) => {return err})第二种情况:
(全局请求头:‘Content-Type'= 'application/json;charset=UTF-8')
(request的Header:‘Content-Type'= 'application/json;charset=UTF-8')
var readyData=JSON.stringify({
id:1234,
name:user
});
axios.post("/notice",readyData)
.then((res) => {return res})
.catch((err) => {return err})本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!