请求前后的过滤和响应前后的拦截操作都在这里定义
以及对axios的封装也写在一起
编写Request.js文件,在其中完成对请求的所有操作
import axios from "axios"; import {message} from "antd"; axios.defaults.withCredentials=true // 第一步,创建实例 export const service = axios.create(); // 第二步,请求拦截 service.interceptors.request.use( function (config) { // 请求发生前处理 config.headers = { // 每次请求前带上Token token: window.localStorage.getItem("token") } return config; }, function (error) { // 请求错误处理 console.log(error) message.error("服务器被吃了!!") console.log("请求错误之后"+error) return Promise.reject(error); } ); // 第三步,响应阻拦 service.interceptors.response.use( function (response) { return response.data; }, function (error) { // 响应错误处理 console.log("服务器被吃了!!") message.error("服务器被吃了!!") return Promise.reject(error); } ); //万一添加前置路径 可变更 //封装请求 export const postRequest=(url,parmes)=>{ return service.request({ method:"post", url:url, data: parmes }) } // 传送json的put请求 export const putRequest = (url, params) => { return service.request({ method: 'put', url: url, data: params }) } // 传送json的get请求 export const getRequest = (url, params) => { return service.request({ method: 'get', url: url, data: params }) } // 传送json的delete请求 export const deleteRequest = (url, params) => { return service.request({ method: 'delete', url: url, data: params }) }
创建Api.js
将所有请求方法的调用封装在一起
import {postRequest} from "./Request" let baseUrl = "http://localhost:8080" //获取验证码 function getCaptcha(){ return baseUrl+`/captcha?id=` + Math.random(); } //登录方法 function loginApi(values){ return postRequest(baseUrl+"/login", values) } export{ loginApi, getCaptcha }
版权声明:本文为weixin_58473601原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。