色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Vue使用axios引起的后臺(tái)session不同操作

瀏覽:97日期:2022-12-05 18:56:22

新項(xiàng)目前端用的Vue全家桶,使用axios代替ajax請(qǐng)求后臺(tái)接口,在調(diào)整注冊(cè)接口的時(shí)候,發(fā)現(xiàn)在session里取不到驗(yàn)證碼,排查后才知道獲取驗(yàn)證碼和注冊(cè)兩個(gè)請(qǐng)求的session不同,sessionId不一樣。

現(xiàn)在調(diào)整一下Vue的配置,修改main.js文件,添加如下兩行代碼

import axios from ’axios’

axios.defaults.withCredentials=true;

修改后

import Vue from ’vue’import App from ’./App’import router from ’./router’import ElementUI from ’element-ui’import ’element-ui/lib/theme-chalk/index.css’;import axios from ’axios’// 默認(rèn)false 會(huì)導(dǎo)致后臺(tái)接收到的同一用戶的不同請(qǐng)求sessionid都不同,需要改為trueaxios.defaults.withCredentials=true; Vue.config.productionTip = falseVue.use(ElementUI) /* eslint-disable no-new */new Vue({ el: ’#app’, router, components: { App }, template: ’<App/>’})

同時(shí)后臺(tái)也需要配合修改,后臺(tái)用的是Spring Boot,下面是修改后的結(jié)果

@Configurationpublic class CorsConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.setAllowCredentials(true); // 設(shè)置setAllowCredentials = true后就不能設(shè)置為*了,要設(shè)置具體的 corsConfiguration.addAllowedOrigin('http://192.168.0.35:8080'); corsConfiguration.addAllowedOrigin('http://localhost:8080'); // 允許任何頭 corsConfiguration.addAllowedHeader('*'); // 允許任何方法(post、get等) corsConfiguration.addAllowedMethod('*'); return corsConfiguration; } @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); // 對(duì)接口配置跨域設(shè)置 source.registerCorsConfiguration('/**', buildConfig()); return new CorsFilter(source); }}

這是一個(gè)允許跨越請(qǐng)求的類

設(shè)置

corsConfiguration.setAllowCredentials(true);

設(shè)置了上行代碼后,addAllowedOrigin設(shè)置成*就不允許了

corsConfiguration.addAllowedOrigin('*')

需要設(shè)置成指定的地址

corsConfiguration.addAllowedOrigin('http://192.168.0.35:8080');

corsConfiguration.addAllowedOrigin('http://localhost:8080');

這樣就ok了!

補(bǔ)充知識(shí):vue axios sessionID 每次請(qǐng)求都不同的原因,及修改方式

今天應(yīng)項(xiàng)目需要,需要在請(qǐng)求當(dāng)中加入sessionID的驗(yàn)證,但是發(fā)現(xiàn)每一次發(fā)送給后臺(tái)的請(qǐng)求當(dāng)中,sessionID都是不一樣的,那么原因是什么呢?

查閱度娘之后,發(fā)現(xiàn)自己封裝的axios配置文件當(dāng)中,缺少了一行:

import axios from ’axios’

axios.defaults.withCredentials = true

這是axios的文檔: https://www.kancloud.cn/yunye/axios/234845

// `withCredentials` 表示跨域請(qǐng)求時(shí)是否需要使用憑證

withCredentials: false, // 默認(rèn)的

在我封裝的axios請(qǐng)求當(dāng)中,是沒(méi)有 withCredentials的配置的, 如果沒(méi)有配置為true,默認(rèn)為false則向后臺(tái)發(fā)送的請(qǐng)求當(dāng)中不攜帶cookie信息,如此每一次sessionID自然會(huì)不同。

而再加入這一行配置之后,再次測(cè)試,發(fā)現(xiàn)出現(xiàn)新的的問(wèn)題:

Response to preflight request doesn’t pass access control check: The value of the ’Access-Control-Allow-Origin’ header in the response must not be the wildcard ’*’ when the request’s credentials mode is ’include’. Origin ’http://localhost:8080’ is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

這個(gè)時(shí)候,就需要后臺(tái)的同事幫忙了,在后臺(tái)的跨域請(qǐng)求頭配置當(dāng)中,進(jìn)行如下兩行的配置:

response.setHeader('Access-Control-Allow-Origin', '*');// 不能是通配符*

而是:

Vue使用axios引起的后臺(tái)session不同操作

作用是將訪問(wèn)接口才ip注冊(cè)進(jìn)去。

第二個(gè)配置是:

Access-Control-Allow-Credentials: true

若是不設(shè)置成這個(gè),也會(huì)出錯(cuò)。

而這樣前后都設(shè)置完畢之后,再次請(qǐng)求,你會(huì)發(fā)現(xiàn),還是出錯(cuò)了,那是因?yàn)椋阈枰谛薷囊粋€(gè)地址

host: ’localhost’, // 這里要修改為你本機(jī)的ip地址,那少年,你就成功了 port: 8080, // 端口 autoOpenBrowser: false,

以上這篇Vue使用axios引起的后臺(tái)session不同操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: IOS
相關(guān)文章:
主站蜘蛛池模板: 91pao强力打造免费高清 | 国产午夜视频 | 日本a级精品一区二区三区 日本a级毛片免费视频播放 | 亚洲视频欧美 | 久久亚洲天堂 | 爱视频福利广场 | 国产日韩欧美综合一区二区三区 | 成人性色生活片免费网 | 免费的特黄特色大片在线观看 | 日韩人成| 国产精品久久一区二区三区 | 成人欧美一区二区三区 | 免费一级淫片aaa片毛片a级 | 国产成人精品午夜免费 | 国产 高清 在线 | 国产成人永久免费视频 | 女人张开双腿让男人 | 精品日韩在线 | 老头巨大粗长xxxxx | 日韩在线欧美在线 | 香港三级日本三级妇人三级 | 久久99精品久久久久久久不卡 | 国产精品二区三区 | 伊人波多野结衣 | 欧美一级精品高清在线观看 | 美女网站在线 | 国产波多野结衣中文在线播放 | 日本天堂网址 | 美女视频免费看视频网站 | 男女视频免费观看 | 成人免费小视频 | 狠狠综合久久久综合 | 日本三级全黄三级a | 一区二区三区在线 | 网站 | 国产美女一区二区三区 | 日本在线观看免费视频 | 深夜福利亚洲 | 欧美日本国产 | 午夜毛片视频高清不卡免费 | 国产大乳喷奶水在线看 | 91久久国产露脸精品 |