axios里面可以设置拦截器 ,在请求发送之前做一些事情;
拦截器分【请求拦截器】和【响应拦截器】
参考地址:https://www.jb51.net/article/150014.htm
参考的地址:https://www.jianshu.com/p/7bc7654d4574 请求拦截器的实际应用场景
在进行鉴权的时候;我们每个接口都需要携带token;
难道每次我们都需要手动拼接token;
这个时候拦截器就很有用了;
这时候就可以用拦截器来使token自动增加 // 首先我们看下请求拦截器的写法;在请求或响应被 then 或 catch 处理前拦截它们。
axios.interceptors.request.use((config)=>{
console.log("--",config);
config.baseURL="https://193.121.12.121:8999/"; if (token) { // 判断是否存在token,如果存在的话,则每个http header都加上token
config.headers.myAuthorization = mytoken;
// config.headers['Authorization'] = token;
}
if(!config.hasOwnProperty('showError')){
config.showError = true
}
return config;
},(err)=>{
console.log(error)
// 发生错误做的一些事情
return Promise.reject(error);
}) // 添加响应拦截器
axios.interceptors.response.use(function (res) {
// 对响应数据做点什么
if (res&&res.data&&res.data.success) {
return res.data
}else{
if(res.config.showError) {
//如何请求失败,开启了错误提示;进行提示
window.$toast(res.data.msg)
}
return Promise.reject(res.data)
}}, function (error) {
// 对响应错误做点什么;没有权限401,去登录界面
if(error.response.status === 401) {
window.$toast('登录超时')
setTimeout(() => {
uni.switchTab({
url: '/pages/home/home'
})
},1000)
}else if(error.response.status === 403) {
window.$toast('暂无权限')
}else {
window.$toast('网络错误')
} return Promise.reject(error);
}); export default axios

使用

import request from './common'
/**
{请求参数} data
@param {
showError: 是否隐藏错误提醒
} utils
*/ export function getUserInfo(data, utils) {
return request({
url: 'xxx/xx/user',
method: 'get',
data,
...utils
})
}

axios请求拦截器和响应拦截器的更多相关文章

  1. vue配置请求拦截器和响应拦截器

    首先确保我们已经设置的store.js进行值的存取,这时候我们需要配置请求和响应的拦截器设置 main.js import Vue from 'vue' import App from './App' ...

  2. axios请求响应拦截器的应用

    什么是axios拦截器? 一般在使用axios时,会用到拦截器的功能,一般分为两种:请求拦截器.响应拦截器. 请求拦截器在请求发送前进行必要操作处理 例如添加统一cookie.请求体加验证.设置请求头 ...

  3. axios请求、返回拦截器

    1.http 请求拦截器 axios.interceptors.request.use(function(config){ //在发送请求之前做些什么 return config }), functi ...

  4. vue axios请求/响应拦截器

    // main.js中配置 // 引入 axios import Axios from 'axios' // 这时候如果在其它的组件中,是无法使用 axios 命令的. // 但如果将 axios 改 ...

  5. axios请求,拦截器的使用

    1. axios 创建请求 import axios from 'axios' import {Message} from 'element-ui' import router from " ...

  6. 学习axios必知必会(2)~axios基本使用、使用axios前必知细节、axios和实例对象区别、拦截器、取消请求

    一.axios的基本使用: ✿ 使用axios前必知细节: 1.axios 函数对象(可以作为axios(config)函数使用去发送请求,也可以作为对象调用方法axios.request(confi ...

  7. 【转】AngularJs HTTP请求响应拦截器

    任何时候,如果我们想要为请求添加全局功能,例如身份认证.错误处理等,在请求发送给服务器之前或服务器返回时对其进行拦截,是比较好的实现手段. angularJs通过拦截器提供了一个从全局层面进行处理的途 ...

  8. axios设置请求拦截和响应拦截

    首先我们先创建axios实例 const service = axios.create({ baseURL: url, //是用于请求的服务器 URL timeout: 5000, // 请求超时时间 ...

  9. Vue axios封装 实现请求响应拦截

    封装 axios.js import axios from 'axios' import { baseURL } from '@/config' class HttpRequest { constru ...

  10. 前端快闪四: 拦截axios请求和响应

    马甲哥继续在同程艺龙写一点大前端: 今天我们来了解一下 如何拦截axios请求/响应? axios是一个基于 promise 的网络请求库,可以用于浏览器和 node.js, promise 类似于C ...

随机推荐

  1. php ice框架

    ice框架是php扩展框架 概念和 yaf Phalcon 那种框架类似,就是把框架编译为C扩展,调用起来就等于调用C,这样框架本身的加载消耗就省下来了. pecl  https://pecl.php ...

  2. Java的内存管理1:“并不只有C++程序员关心内存回收”——Java的内存管理2:"不中用的finalize( )方法"

    通常Java的缓存管理会由垃圾回收器(Java Garbage Collection)定时处理,无须程序员操心.但Java Garbage Collection仅有权回收那些非"强引用&qu ...

  3. Golang之开源项目汇总

    汇总一些Golang一些开源项目,平常可以多学习一下源码与项目精髓 pocketbase 集成简单, 开箱即用,拥有简介的后台管理面板 该系统内置试试数据库与rest api, Google,gith ...

  4. Django之model外键

    外键和表关系 外键: 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam.如果使用的是InnoDB引擎,是支持外键约束的.外键的存在使得ORM框架在处理表关系的时候异常的强大.因 ...

  5. elastic 7.15 集群搭建

    准备三台ES 7.15 关于系统配可以参考之前的文章. https://www.cnblogs.com/yg_zhang/p/10214196.html 这里写一下 的集群配置.这里和之前配置有所不同 ...

  6. 详解AQS二:ReentrantLock公平锁原理

    ReentrantLock作为我们使用频率最高的显式锁,它是AQS的经典实现,本篇文章将以ReentrantLock公平锁为例讲解AQS的实现. 一.ReentrantLock 在之前的文章<线 ...

  7. 腾讯云 TStor 私有云存储获统信+海光/兆芯官方认证

    腾讯云 TStor 是一款分布式存储产品,致力于解决私有云.混合云下的各类存储需求.产品紧跟国内信创生态,持续加强自主可控能力.目前,TStor 已经支持国内主流国产操作系统和硬件,如中标麒麟操作系统 ...

  8. RabbitMQ vs MSMQ

  9. 【Javaweb】【Maven】【Tomcat10】jsp访问正常,Servlet访问404

    Development Tool:IDEA(Intellij IDEA) Tomcat-Version:10 JDK-version:17 情况描述 我使用Tomcat10运行项目,jsp正常访问,但 ...

  10. Spring RestTemplete支持Https安全请求

    实现步骤 Step1: 自定义ClientHttpRequestFactory package com.example.demo.https; import org.springframework.h ...