axios常见传参方式get/post/put/patch/delete
因为axios中包含es6的语法,须要支持ES6 Promise实现。 若是您的环境不支持ES6 Promise,您能够使用polyfill。javascript(能够使用 import “babel-polyfill” )axios官方地址开发过程当中,常常须要全局设置,许多前端开发时容易忽略请求头的配置,经常使用的请求头有2种:axios.defaults.timeout = 15000;//
因为axios中包含es6的语法,须要支持ES6 Promise实现。 若是您的环境不支持ES6 Promise,您能够使用polyfill。javascript(能够使用 import “babel-polyfill” )
axios官方地址
开发过程当中,常常须要全局设置,许多前端开发时容易忽略请求头的配置,经常使用的请求头有2种:
axios.defaults.timeout = 15000; //超时响应
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; // 配置请求头(推荐)
// axios.defaults.headers.post['Content-Type'] = 'application/json;charset=utf-8'; // 配置请求头
axios.defaults.baseURL = $core.use('http'); //确认协议和地址
axios.defaults.withCredentials = true; // axios 默认不发送cookie,须要全局设置true发送cookie
1:get请求api
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请求
传参方式大体用的有3种
(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})
第二种状况:使用URLSearchParams
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})
更多推荐
所有评论(0)