axios 封装 request.js
import axios from 'axios'; // 创建一个 axios 对象 const request = axios.create({ baseURL: 'http://localhost:8080', timeout: 5000 }); // 请求拦截器 request.interceptors.request.use( (config) => { config.headers['Content-Type'] = 'application/json;charset=utf-8'; // 直接从 localStorage 获取 JWT 字符串 let token = localStorage.getItem('user'); if (token) { // 按照规范,JWT 通常以 "Bearer " 开头添加到 Authorization 头中 token = token.replace(/^"(.*)"$/, '$1'); // 去除多余的""引号 config.headers['Authorization'] = `Bearer ${token}`; // console.log('Request Headers:', config.headers); } return config; }, (error) => { return Promise.reject(error); } ); // 响应拦截器 request.interceptors.response.use( (response) => { // response.data 即为后端返回的 Result let res = response.data; // 兼容服务端返回的字符串数据 if (typeof res ==='string') { res = res? JSON.parse(res) : res; } return res; }, (error) => { console.log('err' + error); // for debug return Promise.reject(error); } ); export default request;
分类:
前端
标签:
Javascript
, Vue.js
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律