微信小程序 http請(qǐng)求的session管理
微信小程序 http請(qǐng)求的session管理
作為一個(gè)開發(fā)JavaWeb應(yīng)用的程序猿,都喜歡將用戶登錄后的用戶信息(比如說(shuō)用戶id,用戶名稱)放入session中保存,之后在業(yè)務(wù)邏輯的開發(fā)中需要用到用戶信息的時(shí)候就可以輕松又方便的從session中取到值。最近在開發(fā)微信小程序的時(shí)候碰到一個(gè)問(wèn)題就是每次微信小程序請(qǐng)求的時(shí)候都會(huì)改變sessionid,這就會(huì)導(dǎo)致在后面的請(qǐng)求中取不到登錄時(shí)保存在session中的用戶信息,其實(shí)在前后端分離開發(fā)的時(shí)候也會(huì)碰到這個(gè)問(wèn)題,后端程序員負(fù)責(zé)服務(wù)器端開發(fā),提供接口程序,前端程序員負(fù)責(zé)客戶端開發(fā),調(diào)用后端程序員提供的接口程序獲取數(shù)據(jù),此時(shí),前端程序員請(qǐng)求的每個(gè)接口程序也是都會(huì)改變sessionid的,因些也無(wú)法獲取到登錄時(shí)保存在session里的用戶信息。
常見的session保持方式是,當(dāng)瀏覽器向服務(wù)端發(fā)起http請(qǐng)求時(shí),服務(wù)端檢查在http頭部cookie參數(shù)里是否包含sessionid,如果有sessionid就根據(jù)sessionid去查看存儲(chǔ)在服務(wù)器端的session,session里保存的當(dāng)前會(huì)話的一些信息。如果sessionid沒(méi)有服務(wù)端就會(huì)分配一個(gè),寫到cookie字段里,瀏覽器下次發(fā)起其它請(qǐng)求的時(shí)候帶上。
因此,為了解決上面我說(shuō)的問(wèn)題,我們可以這樣做,客戶端在第一次請(qǐng)求服務(wù)器時(shí),也就是登錄的時(shí)候獲得一個(gè)sessionid,在本地存儲(chǔ)起來(lái),然后在之后每次請(qǐng)求服務(wù)器的時(shí)候就在header里面帶上這個(gè)sessionid,寫到cookie字段里。但是有個(gè)問(wèn)題就是,你本地存儲(chǔ)了這個(gè)sessionid后那么以后每次都會(huì)是這個(gè)sessionid,所以建議在程序每次啟動(dòng)的時(shí)候先清空本地存儲(chǔ)的sessionid,然后發(fā)送首次請(qǐng)求獲取新的sessionid。
如下為ajax請(qǐng)求時(shí)在header中帶上sessionid的客戶端代碼:
$.ajax({
type: 'post',
headers: {
'Cookie':'JSESSIONID=1k2naixut68f81q5rpr0c3n4vc'
},
data: {},
dataType: 'json',
timeout: 30000,
url: '/test',
success: function (res) {
alert("success");
},
error: function (e) {
alert("false");
}
})
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
JavaScript面試數(shù)組index和對(duì)象key問(wèn)題詳解
這篇文章主要為大家介紹了JavaScript面試數(shù)組index和對(duì)象key問(wèn)題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
ECMAScript?6數(shù)組的擴(kuò)展實(shí)例詳解
這篇文章主要為大家介紹了ECMAScript?6數(shù)組的擴(kuò)展實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Proxy的不可變數(shù)據(jù)優(yōu)點(diǎn)及使用詳解
這篇文章主要為大家介紹了Proxy的不可變數(shù)據(jù)優(yōu)點(diǎn)及使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
關(guān)于JavaScript輪播圖的實(shí)現(xiàn)
這篇文章主要介紹了關(guān)于JavaScript輪播圖的實(shí)現(xiàn),下面文章主要是利用利用html 和 css 代碼實(shí)現(xiàn)輪播圖,詳細(xì)內(nèi)容請(qǐng)參考下面詳細(xì)內(nèi)容,希望對(duì)你有所幫助2021-11-11
微信小程序 獲取設(shè)備信息 API實(shí)例詳解
這篇文章主要介紹了微信小程序 獲取設(shè)備信息 API實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-10-10

