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的使用的更多相关文章

  1. 在struts2中配置自定义拦截器放行多个方法

    源码: 自定义的拦截器类: //自定义拦截器类:LoginInterceptor ; package com.java.action.interceptor; import javax.servlet ...

  2. axios在vue中的简单配置与使用

    一.axios 简介 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:https://hzzly.github.io/2017/03/12/ ...

  3. SpringBoot 03: 常用web组件 - - - 拦截器 + Servlet + 过滤器

    常用web组件 拦截器 Servlet 过滤器 使用思想 创建自定义类 实现或者继承框架里的接口或类 将自定义类注册到框架中 使用自定义类 拦截器 说明 拦截器是SpringMVC中的一种对象,能拦截 ...

  4. 通过配置http拦截器,来进行ajax请求验证用户登录的页面跳转

    在.NET中验证用户是否登录或者是否过期,若需要登录时则将请求转向至登录页面. 这个流程在进行页面请求时是没问题的,能正确进行页面跳转. 然而在使用xmlhttprequest时,或者jq的getJs ...

  5. 配置struts2拦截器

    <!-- 配置拦截器 -->        <interceptors>            <!-- 声明拦截器 -->            <inte ...

  6. spring boot配置springMVC拦截器

    spring boot通过配置springMVC拦截器 配置拦截器比较简单, spring boot配置拦截器, 重写preHandle方法. 1.配置拦截器: 2重写方法 这样就实现了拦截器. 其中 ...

  7. Sturts2几个常用内建拦截器的介绍

    Sturts2几个常用内建拦截器的介绍:1)conversation:这是一个处理类型转换错误的拦截器,它负责将类型转换错误从ActionContext中取出,并转换成Action的FieldErro ...

  8. SpringMVC配置了拦截器(interceptors)却显示不出css、js样式的解决办法

    首先因为在web.xml里面配置了 <filter-mapping> <filter-name>characterEncodingFilter</filter-name& ...

  9. SpringBoot中过滤器、监听器以及拦截器

    属于javax.servlet所提供的Api 拦截器原理 简单来讲是通过动态代理实现,被访问的目标方法通过代理类(方法)来执行,这样我们就可以在真正要执行的方法执行前.后做一些处理: 通过拦截器这种方 ...

随机推荐

  1. Sass-除法

    Sass的乘法运算规则也适用于除法运算.不过除了除法运算还有一个特殊之处.众所周知“/”符号在css中已作为一种符号使用,因此在sass中做除法运算时,直接使用"/" 符号作为除号 ...

  2. css盒子模型的宽度不包括margin

    看到教程上和一些博客上盒子模型的宽度 = content + padding + margin + border,应该是不包括margin的 <!DOCTYPE html> <htm ...

  3. windows平台搭建Mongo数据库复制集(类似集群)(二)

    通过rs.status()命令我们可以查询到各个节点运行正常. 一.数据同步测试 在28011.28012端口上进行插入: 因为SECONDARY是不允许读写的, 在写多读少的应用中,使用Replic ...

  4. MFC的DoModal(转)

    DoModal会产生模态对话框(有模式的对话框,有“是”或者“否”供用户选择),函数运行到此处后不会马上返回,会等待用户的响应(响应后对话框销毁),在此对话框未销毁前,其他窗口不会接收到用户的输入(注 ...

  5. tmux使用——2019年11月20日16:40:15

    1.tmux 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令.用户与计算机的这种临时的交互,称为一次"会话& ...

  6. 【NLP新闻-2013.06.03】New Book Where Humans Meet Machines

    英语原文地址:http://nlp.hivefire.com/articles/share/39865/ 注:本人翻译NLP新闻只为学习专业英语和扩展视野,如果翻译的不好,请谅解! (我挺想看这本书的 ...

  7. SQL Server 2008 R2 数据库备份文件.bak如何挂载到【阿里云&#183;独立虚拟主机数据库】上

    1.前言 8月份刚刚开始,公司[工作流]挂了,实体服务器会自动重启,数据库死活起不来,这可是计算工资提成的事儿,不能马虎! 在实体服务器中,找到了OA页面源码与数据库的.MDF 与 .LDF 等文件. ...

  8. 英语单词operand

    operand 来源 [root@centos7 ~]# mkdir mkdir: missing operand  缺少操作数,也就是要创建的目录 Try 'mkdir --help' for mo ...

  9. pyCharm和解释器下载安装

    参考:(mac) 安装流程和注意: http://blog.csdn.net/limin2928/article/details/69267184 解释器下载地址: https://www.pytho ...

  10. PCB六层板学习(一)

    一.原理图的网表导出及版本转换 安装Cadence后,打开RK3288的原理图. 首先点击rk3288-mid.dsn >> 然后有一个Create netlist的图标(当然咋Tools ...