vue再请求头加token
Vue:全局拦截所有请求,并在请求头中添加token - 道祖且长 - 博客园 (cnblogs.com)
util.js
export function sessionSet(user){
let jsonStr=JSON.stringify(user);
sessionStorage.setItem("user",jsonStr);
}
export function sessionGet(){
let jsonStr=sessionStorage.getItem("user");
let user=JSON.parse(jsonStr);
return user;
}
// token设置
export function tokenSet(token){
let jsonStr=JSON.stringify(token);
sessionStorage.setItem("token",jsonStr);
}
// token获取
export function tokenGet(){
let jsonStr=sessionStorage.getItem("token");
let token=JSON.parse(jsonStr);
return token;
}
export function sessionDestroy(){
sessionStorage.setItem("user",null);
}
main.js
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import axios from 'axios'
import qs from 'qs'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css';
import './assets/default.css'
import Message from 'element-ui'; import {
sessionSet,
sessionGet,
sessionDestroy,
tokenSet,
tokenGet,
} from './util.js' Vue.use(ElementUI); Vue.config.productionTip = false //设置axios的基础url部分
axios.defaults.baseURL = "xxx"; // 把axios请求对象挂载到vue.prototype原型对象中,在组件中通过this.xxx直接访问
Vue.prototype.$axios = axios;
Vue.prototype.$qs = qs;
Vue.prototype.$sessionSet = sessionSet;
Vue.prototype.$sessionGet = sessionGet;
Vue.prototype.$sessionDestroy = sessionDestroy;
Vue.prototype.$tokenSet = tokenSet;
Vue.prototype.$tokenGet = tokenGet;
Vue.prototype.$msg = Message; // 添加请求拦截器
axios.interceptors.request.use(function(config) {
console.log(config)
// 在发送请求之前做些什么
// 判断是否存在token,如果存在将每个页面header添加token
if (this.tokenGet()) {
// 排除一些链接加token(除了网上的业务,线下业务不加token)
if (config.url == '/xxx/xxx') {
return config;
} else {
config.headers.Authorization = this.tokenGet();
}
}
return config;
}, function(error) {
router.push('/')
return Promise.reject(error)
}) new Vue({
router,
render: h => h(App)
}).$mount('#app')
vue再请求头加token的更多相关文章
- ajax请求头加Token时发生的跨域(CORS)请求问题
首先描述下问题:需求是在请求头中加入token,我在ajax请求数据时添加了请求头‘Authorization’字段,并添加了响应的token值,在请求数据的时候浏览器报错如下: Request he ...
- vue全局设置请求头 (封装axios请求)
Vue.http.interceptors.push((request, next) => { // 请求发送前的处理逻辑 request.headers.set('Authorization' ...
- vue+axios请求头封装
import { mapMutations } from 'vuex' import axios from 'axios' import { Toast } from 'mint-ui'; impor ...
- axios拦截器请求头携带token
转—— https://github.com/superman66/vue-axios-github/blob/master/src/http.js
- 给HttpClient添加请求头(HttpClientFactory)
前言 在微服务的大环境下,会出现这个服务调用这个接口,那个接口的情况.假设出了问题,需要排查的时候,我们要怎么关联不同服务之间的调用情况呢?换句话就是说,这个请求的结果不对,看看是那里出了问题. 最简 ...
- $.ajax应用之请求头headers
昨天项目中,由于要请求token验证,后台给出的方案是采用请求头返回token数据,给出的API文档是这样的 由于之前一直都是采用请求体发送请求,服务器在应答体李返回数据.和这个不一样: 采用jq的$ ...
- vue+vue-resource设置请求头(带上token)
前言 有这样的一个需求,后台服务器要求把token放在请求头里面 嗯一般是通过data里面通过参数带过去的 第一种方法 全局改变: Vue.http.headers.common['token'] = ...
- vue开发之跨域请求,请求头not allowed by Access-Control-Allow-Headers,后端cookie session值取不到(二)
原因:你本地的请求ajax的get和post请求:如果你的请求头内放一些可用验证数据Token的时候就会存在跨域请求这是浏览器所不允许的问题: 方案一:后台的接口请求模式都写成jsonp请求,前端去调 ...
- 02 . 处理axios的三个问题 :设置基路径/axios挂载到vue原型/请求时自动携带token
//使用API时必须在请求头中使用 Authorization 字段提供 token 令牌 import axios from 'axios' // 处理axios的三个问题 // 处理一:基路径 a ...
- vue项目中请求头为applicationx-www-form-urlencoded的参数传递
当请求接口的请求头如下图所示时, 前端在传参时需要先新建一个URLSearchParams对象,然后将参数append到这个对象中 const params = new URLSearchParams ...
随机推荐
- Typora的初使用
HelloTypora 二级标题 三级标题 HelloWorld! HelloWorld HelloWorld HelloWorld HelloWorld HelloWorld 引用 分割线 图片 # ...
- gauva cache
guava 的cache比较好用. 用户使用的对象是LoadingCache, 通过CacheBuilder来创建,通过 CacheLoader来根据key加载数据.而且可以定时刷新缓存(有访问 ...
- mysql命令行如何执行sql脚本
本文介绍在windows操作系统和Linux操作系统中,如何在命令界面模式下执行对应的sql脚本到mysql数据库 Windows操作系统下 mysql -u root -p db1 < E:\ ...
- HTML弹窗设计二
<!DOCTYPE html><html> <head> <title>模态框弹出层.html</title> <meta http- ...
- Python3 文件处理相关脚本
对文件相关处理是脚本中最常见的,下面列举几种实用的案例: 批量删除: (1)删除指定目录,指定后缀文件 例:删除目录J:/start下的 .log与.tmp结尾文件 def del_files(pat ...
- 3d-force-graph使用及相关设置
首先安装3d-force-graph模块到项目依赖: npm install 3d-force-graph 在需要使用的vue页面中导入 import ForceGraph3D from '3d-fo ...
- 计算机网络基础(1): 拓扑结构/ OSI模型/ TCP/IP模型
来自mooc <计算机网络基础及应用>南京理工大学. <计算机网络技术>宁波城市职业技术学院.来自网易云课堂<计算机网络工程基础>高骞. chapter1 导论 计 ...
- 使用vite创建vue3+ts项目完整流程
1.创建项目 npm init vite@latest 依次输入项目名称.选择vue.选择ts 2.引入依赖 cd 项目名称 npm install 3.启动项目 npm run dev 4.引入vu ...
- Docker部署Nastool(含jellyfin、transmission)
先弄清楚原理 首先从[资源搜索]或者[推荐栏目]寻找自己想看的电影,执行订阅或者搜索资源启动下载,下载电影存放在downloads/mov目录下,[媒体整理]就是将mov子目录下电影文件复制到down ...
- Flink监控信息写入到PushGateway出现 java.io.IOException: Response code from http xx was 200问题
最近在将Flink的Metrics存储由InfluxDB迁移到Prometheus的时候,由于使用的版本问题,导致一直出现下面的WARN日志 2020-05-16 12:36:57.794 [Flin ...