vue前后端分離如何解決每次請求session都會變的問題
vue前后端分離每次請求session都會變
因?yàn)榍昂蠖藢儆诓煌挠?導(dǎo)致每次ajax請求服務(wù)器都會當(dāng)做新的用戶訪問,導(dǎo)致session丟失
解決方法
?<system.webServer> ? ? <httpProtocol> ? ? ? <customHeaders> ? ? ? ? <add name="Access-Control-Allow-Origin" value="http://localhost:8080" /> ? ? ? ? <add name="Access-Control-Allow-Headers" value="Content-Type" /> ? ? ? ? <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> ? ? ? ? <add name="Access-Control-Allow-Credentials" value="true"/> ? ? ? </customHeaders> ? ? </httpProtocol> ? <handlers> </system.webServer>
在后端Web.config添加允許跨域,
<add name="Access-Control-Allow-Origin" value="http://localhost:8080" />
這里的value寫前端的地址
再就是改前端ajax請求,我用的axios 在axios的index.js全局配置
axios.defaults.withCredentials=true;
這句話的意思是每次請求都帶上cookie,這樣每次取請求后端,就不會被認(rèn)為是不同用戶導(dǎo)致session丟失.哦了!
vue前后端分離session丟失,前端解決方式
背景:前端每次發(fā)送的ajax都是形成新的會話,本地測試時后端獲取sessionId為null
**********后端的代碼修改請查找其他文章,本文只涉及前端
1、解決前端每次發(fā)送的ajax都是形成新的會話
我是用的axios,只需在封裝的請求時添加
axios.defaults.withCredentials=true;
根據(jù)自己代碼做相應(yīng)改變就行,請求時添加withCredentials屬性,并且值為true。
withCredentials:true;請求時攜帶cookie
2、本地測試時結(jié)果發(fā)現(xiàn)還是無法成功,后端獲取的sessionId為null
后端返回cookie
Set-Cookie: SESSION=NzgyMDdjZDgtNjJhMC00NmNkLTkxNWYtNjE4ZmRkYmFlOWQy; Path=/xxx/;
cookie后面還有一個path=/xxx/ 即后端項(xiàng)目路徑,
只需要在為解決跨域設(shè)置代理時
原代碼:
devServer: {
? ? proxy: {
? ? ? '/dev-api/': {
? ? ? ? target: 'http://baidu.com:8811',
? ? ? ? changOrigin: true,
? ? ? ? pathRewrite: {
? ? ? ? ? '^/dev-api/': '/'
? ? ? ? }
? ? ? }
? ? }
? }以/dev-api/開頭改為后端返回path開頭
修改后:
devServer: {
? ? proxy: {
? ? ? '/xxx/': {
? ? ? ? target: 'http://baidu.com:8811',
? ? ? ? changOrigin: true,
? ? ? ? pathRewrite: {
? ? ? ? ? '^/xxx/': '/'
? ? ? ? }
? ? ? }
? ? }
? }以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue配置代理vue.config.js后不生效的解決(小坑)
這篇文章主要介紹了vue配置代理vue.config.js后不生效的解決(小坑),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
解決vue2.x中數(shù)據(jù)渲染以及vuex緩存的問題
本篇文章主要介紹了vue2.x中請求之前數(shù)據(jù)顯示以及vuex緩存的問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
Vue3實(shí)現(xiàn)登錄表單驗(yàn)證功能
這篇文章主要介紹了Vue3實(shí)現(xiàn)登錄表單驗(yàn)證功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06
vue 使用iView組件中的Table實(shí)現(xiàn)定時自動滾動效果
要在css中設(shè)置table的高度,使數(shù)據(jù)過多時出現(xiàn)滾動條,將縱向設(shè)置為overflow-y: auto;橫向設(shè)置隱藏 overflow-x: hidden,接下來通過本文介紹vue使用iView組件中的Table實(shí)現(xiàn)定時自動滾動效果,需要的朋友可以參考下2024-05-05

