axios被用来前端与后端进行数据交互
1.Vue项目中axios使用
1.1 安装axios
npm install axios --save
1.2 导入axios
1.2.1 main.js中导入axios
import axios from 'axios'
1.2.2 main.js中将axios设置为vue原属性
//创建请求对象(axios)
let http = axios.create({})
//将axios设置成vue的属性
Vue.prototype.$axios = http
1.3 设置baseRUL
指定请求的基础URL,这样,在发送请求时,只需提供相对路径即可,Axios会自动将其与baseURL拼接成完整的请求URL
axios.defaults.baseURL = "http://localhost:9090/"
2.axios拦截器
Axios拦截器是用于在发送请求或接收响应之前,对请求或响应进行全局的预处理和处理的机制。通过拦截器,我们可以在请求发送前或响应返回后对其进行一些通用的操作,例如添加请求头、统一处理错误、对请求进行加密等。
2.1 响应拦截
在数据响应回来时对响应进行处理
http.interceptors.response.use(
config =>{
// 判断
if(config.data.code == 403){
// 后台返回没登录
// 跳转到登录页(路由)
//window.location.href = "/login"
vue.$router.push("/login")
return
}
return config
}
)
2.2 请求拦截
在发送请求之前对请求进行处理
http.interceptors.request.use(
config =>{
// 得到token 本地
let token = window.localStorage.getItem("authorization")
config.headers.authorization = token
// 放行请求
return config
}
)