vue自定义http请求方式,配置拦截器
import axios from 'axios'import Vue from 'vue'import { Message } from 'element-ui'// 创建axios实例const http = axios.create({baseURL: "",timeout: 120000 // 请求超时时间})/...
·
import axios from 'axios'
import Vue from 'vue'
import { Message } from 'element-ui'
// 创建axios实例
const http = axios.create({
baseURL: "",
timeout: 120000 // 请求超时时间
})
// 添加request拦截器
http.interceptors.request.use(
function(config) {
config.headers['Content-Type'] = 'application/x-www-form-urlencoded';
return config
},
function(error){
Promise.reject(error)
})
// 添加respone拦截器
http.interceptors.response.use(
function(response) {
if(response.status && response.status == 200){
return response.data;
}
},
function(error){
Message.error('请求失败!');
return Promise.reject(error.response)
}
)
let RestService = {
get(url, data){
return http({
url:url,
method: 'get',
timeout: 180000, // 单独配置超时时间
params: data,
})
.then((response)=>{
return response;
})
.catch((error)=>{
console.log("get error" + error);
})
},
post(url, data){
return http({
url:url,
method: 'post',
data: data,
})
.then((response)=>{
return response;
})
.catch((error)=>{
console.log("get error" + error);
})
},
}
export default RestService;
关于拦截器可以根据需求(自动追加请求参数等)做相应的配置,其他的请求方式(put, delete, patch等)配置和post请求差不多只需要更改method值即可。
更多推荐
已为社区贡献2条内容
所有评论(0)