赞
踩
import axios from 'axios' import Cookies from "js-cookie" axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' // 创建axios实例 const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 baseURL: "http://127.0.0.1", // 超时 timeout: 10000, headers: { 'authorization': getToken() } }) function getToken(){ return Cookies.get("token"); } export default service
使用transformRequest 允许将请求数据发送到服务器之前进行修改
import axios from 'axios' import Cookies from "js-cookie" axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' // 创建axios实例 const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 baseURL: "http://127.0.0.1", // 超时 timeout: 10000, // headers: { // 'authorization': getToken() // }, // 开始是全局添加的 headers, 如上, 没有做处理,就会出现第一次登陆后, 带不上token的情况。 //transformRequest 允许将请求数据发送到服务器之前进行修改 transformRequest: [function (data, headers) { headers['Authorization'] = Cookies.get("token") return JSON.stringify(data) }] }) // 响应拦截器 service.interceptors.response.use( response => { // 请求成功处理 return response; }, error => { if (error.response) { // 判断token是否过期 if (error.response.status === 403) { // 清除token信息 Cookies.remove("token") // 跳转到登录页面,或者执行其他逻辑 // location.href = '/login'; } } }) export default service
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。