解決vue項(xiàng)目axios每次請(qǐng)求session不一致的問(wèn)題
1、vue開(kāi)發(fā)后臺(tái)管理項(xiàng)目,登錄后,請(qǐng)求數(shù)據(jù)每次session都不一致,后臺(tái)返回未登錄,處理方法打開(kāi)main.js設(shè)置:
// 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 = axiosVue.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的一致性需設(shè)置為true;
2、為解決跨域,需要代理

3、數(shù)據(jù)請(qǐng)求

補(bǔ)充知識(shí):解決跨域造成Vue-element每次請(qǐng)求sessionID不同問(wèn)題
vue-element作為前端開(kāi)發(fā)框架, 前后端分離項(xiàng)目ajax跨域, 每次http請(qǐng)求后sessionId均會(huì)發(fā)生變化,導(dǎo)致獲取session失敗,
只需要在文件vue-element-admin-master-1srcutilsrequest.js中添加如下代碼即可:
withCredentials: true,
crossDomain: true
整個(gè)axios請(qǐng)求為:
const service = axios.create({ baseURL: process.env.BASE_API, // api的base_url timeout: 5000, // request timeout withCredentials: true, crossDomain: true})
以上這篇解決vue項(xiàng)目axios每次請(qǐng)求session不一致的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python基于requests庫(kù)爬取網(wǎng)站信息2. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法3. Python使用Selenium自動(dòng)進(jìn)行百度搜索的實(shí)現(xiàn)4. Java commons-httpclient如果實(shí)現(xiàn)get及post請(qǐng)求5. 一文帶你徹底理解Java序列化和反序列化6. 微信小程序?qū)崿F(xiàn)商品分類頁(yè)過(guò)程結(jié)束7. PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能8. JS中6個(gè)對(duì)象數(shù)組去重的方法9. 資深程序員:給Python軟件開(kāi)發(fā)測(cè)試的25個(gè)忠告!10. python中文本字符處理的簡(jiǎn)單方法記錄

網(wǎng)公網(wǎng)安備