vuecli配合axios使用
下载 npm i axios
导入 import axios from “axios”
全局使用 get post axios等
axios({
url:"", //地址
method:“get/post” //请求的方式 post提交 get获取
params:{ //是即将与请求一起发送的 URL 参数 get请求
id:123
},
data:{}, //是作为请求主体被发送的数据 post,
headers: {‘yl-authorization’: this.token},//设置header信息,
baseURL:"", //请求地址的基础部分
timeout:5000
}).then(function(res){
console.log(res)
}).catch(function(err){
console.log(err);
});
并发请求(同时发送多个请求)
axios.all([axios(),axios()]).then(function(res){
console.log(res);
})
axios.all([axios(),axios()]).then(axios.spread(res1,res2){
console.log(res1,res2);
})
全局配置
axios.defaults.baseURL = ""
axios.defaults.timeout =123
创建axios实例
const instance1 = axios.create({
baseURL:"",
timeout:5000
});
instance1({
url:".."
}).then(function(res){
console.log(res);
});
封装 request.js
import axios from "axios";
export function request(config, success, failure) {
const instance1 = axios.create({
baseURL: "",
timeout: 5000
});
instance1(config)
.then(function (res) {
success(res);
})
.catch(function (err) {
failure(err);
});
}
使用 request.js
import { request } from "./network/request"
request({
url:"top250"
},function(res){
console.log(res)
},function(err){
console.log(err);
});
拦截器
instance1.interceptors.request.use(
function (config) {
console.log(config);
return config
}, function (err) {
console.log(err);
}
);
instance1.interceptors.response.use(
function (res) {
return res
}, function (err) {
console.log(err);
}
);
instance1(config)
.then(function (res) {
success(res);
})
.catch(function (err) {
failure(err);
});