vue中 aixos 常用配置 aixos拦截器 interceptors的使用
axios的配置 公共路径配置 拦截器的使用
//这个文件是根组件 new Vue,所有所需的模块和对象都要在new Vue之前配置好 import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css' //手动引入
import axios from 'axios' //引入axios文件
//将axios添加到vue的原型对象中,
// 实例对象可以直接使用原型对象中的属性和方法
//所有的组件都是vue的实例,所有组件都可通过 this.$http使用axios
// 说明:只要是像axios这样得第三方库(与vue没有任何关系),都应该通过这种方式统一去导入
Vue.prototype.$http=axios //以后再组件中 使用 this.$http就可使用axios //配置公共路径
// 配置好公共路径后,每次使用axios发送请求,只需要写当前接口的路径(比如'/product')
// axios在发送请求之前,会将baseUrl + '/product' 得到完整的路径,才会发送请求
axios.defaults.baseURL='http://localhost:8888/api/private/v1' // axios.defaults.withCredentials=true //让axios的请求携带验证信息到服务端(钥匙) // 只要配置了拦截器,那么所有的请求都会走拦截器
// 因此,可以在拦截器中统一处理headers(处理:除了登录接口以外的所以接口,都需要将token传递给服务器)
// 请求拦截器(Add a request interceptor )
axios.interceptors.request.use(
function (config) {
//在请求发送之前做一些事情
// endsWith 字符串的方法,用来判断是不是以参数结尾的,如果是返回值为true
if(!config.url.endsWith('/login')){// 判断如果是登录接口,就不需要添加 Authorization 请求头
config.headers['Authorization']=localStorage.getItem('token') //将token设置在请求头,传递给服务器接口,这样才能正确的调用这个接口
}
return config;
},
); // 响应拦截器(Add a response interceptor)
axios.interceptors.response.use(
function (response) {
//在获取到响应的时候做一些事情,
if(response.data.meta.status===401){//只要token失效,就跳转回登录页面
//因为现在不是在组件中,因此无法通过this.$router来访问到路由实例
// 但是可以直接通过 上面导入的路由模块中的 router来访问到路由
router.push('/login') //跳转到登录页
localStorage.removeItem('token')
}
console.log( response )
return response;
},
); //导入全局css样式 @表示src
import '@/assets/index.css' Vue.config.productionTip = false Vue.use(ElementUI) new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
vue中 aixos 常用配置 aixos拦截器 interceptors的使用的更多相关文章
- 在struts2中配置自定义拦截器放行多个方法
源码: 自定义的拦截器类: //自定义拦截器类:LoginInterceptor ; package com.java.action.interceptor; import javax.servlet ...
- axios在vue中的简单配置与使用
一.axios 简介 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:https://hzzly.github.io/2017/03/12/ ...
- SpringBoot 03: 常用web组件 - - - 拦截器 + Servlet + 过滤器
常用web组件 拦截器 Servlet 过滤器 使用思想 创建自定义类 实现或者继承框架里的接口或类 将自定义类注册到框架中 使用自定义类 拦截器 说明 拦截器是SpringMVC中的一种对象,能拦截 ...
- 通过配置http拦截器,来进行ajax请求验证用户登录的页面跳转
在.NET中验证用户是否登录或者是否过期,若需要登录时则将请求转向至登录页面. 这个流程在进行页面请求时是没问题的,能正确进行页面跳转. 然而在使用xmlhttprequest时,或者jq的getJs ...
- 配置struts2拦截器
<!-- 配置拦截器 --> <interceptors> <!-- 声明拦截器 --> <inte ...
- spring boot配置springMVC拦截器
spring boot通过配置springMVC拦截器 配置拦截器比较简单, spring boot配置拦截器, 重写preHandle方法. 1.配置拦截器: 2重写方法 这样就实现了拦截器. 其中 ...
- Sturts2几个常用内建拦截器的介绍
Sturts2几个常用内建拦截器的介绍:1)conversation:这是一个处理类型转换错误的拦截器,它负责将类型转换错误从ActionContext中取出,并转换成Action的FieldErro ...
- SpringMVC配置了拦截器(interceptors)却显示不出css、js样式的解决办法
首先因为在web.xml里面配置了 <filter-mapping> <filter-name>characterEncodingFilter</filter-name& ...
- SpringBoot中过滤器、监听器以及拦截器
属于javax.servlet所提供的Api 拦截器原理 简单来讲是通过动态代理实现,被访问的目标方法通过代理类(方法)来执行,这样我们就可以在真正要执行的方法执行前.后做一些处理: 通过拦截器这种方 ...
随机推荐
- rabbitmq3.7集群搭建实战
环境: 3台 centos7.4rabbitmq3.7erlang 22 1. 有几种方式安装,这里使用的yum安装(官方推荐)2. 使用rabbitmq时需要安装erlang,在各个节点上使用vim ...
- Kvm --05 密码保护:Kvm管理之WebVirtMgr
目录 密码保护:Kvm管理之WebVirtMgr 1. 前言 2. 特点 3. 功能 4. 部署 1).安装相关依赖 2).安装Python需求环境 3).配置Nginx 4). 远程连接 5).更新 ...
- 【LeetCode】分治法 divide and conquer (共17题)
链接:https://leetcode.com/tag/divide-and-conquer/ [4]Median of Two Sorted Arrays [23]Merge k Sorted Li ...
- Center os6.5 mysql
1 # yum -y install mysql-server mysql mysql-dev 2 启动mysql # service mysqld start 3 为root用户配置一个密码 ...
- 用Redis进行实时数据排名
1先生成一个Redis对象 2实例化一个对象.zscore有序集合中进行排序 3 Redis Zscore命令返回有序集合中,成员的分数值.如果成员元素不是有序集合 key的成员,则key不存在,返回 ...
- Hive数据如何同步到MaxCompute之实践讲解
摘要:本次分享主要介绍 Hive数据如何迁移到MaxCompute.MMA(MaxCompute Migration Assist)是一款MaxCompute数据迁移工具,本文将为大家介绍MMA工具的 ...
- 知道一个数组某个index对应的值 不知道下标的情况下删除该值
for (index,item) in Arr.enumerated() { if item == item { Arr.remove(at: index) } } 更好的方法是用数组的filter尾 ...
- php min()函数 语法
php min()函数 语法 作用:从所有参数中找到最小数 语法:min(X,Y,Z) 或者min(array(X,Y,Z)) 参数:min函数中参数至少一个,可以多个参数,也可以是数组. 说明:如果 ...
- project 计划添加编号或 任务分解时为任务添加编号
[工具]-[选项]-[视图]-选择[显示大纲数字]-[确定]
- k-近邻算法(kNN)准备数据:归一化数值
#准备数据:归一化数值 def autoNorm(dataSet): #autoNorm()函数可以自动将数字特征值转换为0到1的区间 minVals = dataSet.min(0) maxVals ...