解决vue项目axios每次请求session不一致的问题


Posted in Javascript onOctober 24, 2020

1、vue开发后台管理项目,登录后,请求数据每次session都不一致,后台返回未登录,处理方法打开main.js设置:

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
require('es6-promise').polyfill()
import MintUI from 'mint-ui'
import 'mint-ui/lib/style.css'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import store from './store'
import axios from 'axios' // 1、在这里引入axios 
 
axios.interceptors.response.use(function(res) {
 var res = res.data;
 if(res.status === 403 ) {
 router.push('/')
 return res;
 }
 return res;
}, function(error) {
 return Promise.reject(error);
});
axios.defaults.withCredentials = true; //意思是携带cookie信息,保持session的一致性
Vue.prototype.$axios = axios
Vue.prototype.stringify = require('qs').stringify; 
 
Vue.use(MintUI)
Vue.use(ElementUI);
Vue.config.productionTip = false
 
/* eslint-disable no-new */
new Vue({
 el: '#app',
 router,
 store,
 components: { App },
 template: '<App/>'
})

withCredentials为false意思是不携带cookie信息,为保持session的一致性需设置为true;

2、为解决跨域,需要代理

解决vue项目axios每次请求session不一致的问题

3、数据请求

解决vue项目axios每次请求session不一致的问题

补充知识:解决跨域造成Vue-element每次请求sessionID不同问题

vue-element作为前端开发框架, 前后端分离项目ajax跨域, 每次http请求后sessionId均会发生变化,导致获取session失败,

只需要在文件vue-element-admin-master-1\src\utils\request.js中添加如下代码即可:

withCredentials: true,

crossDomain: true

整个axios请求为:

const service = axios.create({
 baseURL: process.env.BASE_API, // api的base_url
 timeout: 5000, // request timeout
 withCredentials: true,
 crossDomain: true
})

以上这篇解决vue项目axios每次请求session不一致的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
根据鼠标的位置动态的控制层的位置
Nov 24 Javascript
基于jquery实现的服务器验证控件的启用和禁用代码
Apr 27 Javascript
jquery lazyload延迟加载技术的实现原理分析
Jan 24 Javascript
js中 关于undefined和null的区别介绍
Apr 16 Javascript
js取消单选按钮选中并判断对象是否为空
Nov 14 Javascript
javascript比较两个日期的先后示例代码
Dec 31 Javascript
easyui Droppable组件实现放置特效
Aug 19 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
May 31 Javascript
jQuery图片加载显示loading效果
Nov 04 Javascript
jQuery实现标签页效果实战(4)
Feb 08 Javascript
原生js实现省市区三级联动代码分享
Feb 12 Javascript
javascript中layim之查找好友查找群组
Feb 06 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
Oct 24 #Javascript
vue中是怎样监听数组变化的
Oct 24 #Javascript
JSON stringify方法原理及实例解析
Oct 23 #Javascript
vue中使用腾讯云Im的示例
Oct 23 #Javascript
vue中使用router全局守卫实现页面拦截的示例
Oct 23 #Javascript
vue使用video插件vue-video-player详解
Oct 23 #Javascript
vue-video-player视频播放器使用配置详解
Oct 23 #Javascript
You might like
简单的移动设备检测PHP脚本代码
2011/02/19 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
2011/11/04 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
7个JS基础知识总结
2014/03/05 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
js代码实现无缝滚动(文字和图片)
2015/08/20 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
vue实现抖音时间转盘
2019/09/08 Javascript
js实现圆形显示鼠标单击位置
2020/02/11 Javascript
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
深入浅析python定时杀进程
2016/06/06 Python
Python+OpenCV图片局部区域像素值处理改进版详解
2019/01/23 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
Python序列化pickle模块使用详解
2020/03/05 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
kmart凯马特官网:美国最大的打折零售商和全球最大的批发商之一
2016/11/17 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
乌克兰移动电子产品和相关配件的在线商店:iTMag
2020/03/16 全球购物
金山毒霸系列的笔试题
2013/04/13 面试题
介绍一下Linux中的链接
2016/05/28 面试题
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
收银员岗位职责
2014/02/07 职场文书
无偿献血倡议书
2014/04/14 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
义卖募捐活动总结
2015/05/09 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书
Python开发五子棋小游戏
2022/05/02 Python
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL