封装axios请求类,含异常后的防错请求,该请求方式在前后端分离项目中不存在跨域问题
import axios from 'axios'
class Server {
constructor(option) {
this.basicUrl = '/';//接口前缀
this.option = option
}
//开始尝试请求
start() {
let _self = this
this.option.url = this.basicUrl + this.option.url
//此处可对option通用参数进行定义或改写
return new Promise(function (resolve) {
let obj = axios(_self.option);
obj.then(res => {
resolve(res);
}).catch(e => {
window.console.log(e)
_self.start()//请求失败后重新请求
})
})
}
}
export const ajax = function (option) {
return new Server(option).start();
}
导入
import {ajax} from "../units/ajax";
调用
ajax({
url: 'api',
method: 'get'
}).then(res=>{
window.console.log(res)
})