嶺底鄉(xiāng)微信小程序如何開發(fā)session管理?教程介紹

閱讀 42878  ·  發(fā)布日期 2020-08-24 17:26  ·  溫州優(yōu)光網(wǎng)絡(luò)科技有限公司|建站|APP小程序制作|做網(wǎng)站SEO推廣優(yōu)化
【摘要】 在微信小程序開發(fā)中,由wx.request()發(fā)起的每次請(qǐng)求對(duì)于服務(wù)端來(lái)說(shuō)都是不同的一次會(huì)話,微信小程序不會(huì)把session信息帶回服務(wù)端,即對(duì)應(yīng)服務(wù)端不同的session,由于項(xiàng)目中使用session保存用戶信息所以導(dǎo)致后續(xù)請(qǐng)求相當(dāng)于未登錄的情況。注意,這里的session不是小程序維護(hù)的那個(gè)通過(guò)wx.login()... 【溫州小程序開發(fā),溫州微信公眾號(hào),平陽(yáng)做網(wǎng)站,平陽(yáng)網(wǎng)站建設(shè)公司,平陽(yáng)小程序商城制作,昆陽(yáng)萬(wàn)全做網(wǎng)站,鰲江水頭小程序,蕭江騰蛟微信公眾號(hào),山門順溪南雁海西南麂鳳臥麻步懷溪網(wǎng)絡(luò)網(wǎng)店服務(wù),政采云網(wǎng)店管理服務(wù)】...

微信小程序如何開發(fā)session管理?教程介紹

在微信小程序開發(fā)中,由wx.request()發(fā)起的每次請(qǐng)求對(duì)于服務(wù)端來(lái)說(shuō)都是不同的一次會(huì)話,微信小程序不會(huì)把session信息帶回服務(wù)端,即對(duì)應(yīng)服務(wù)端不同的session,由于項(xiàng)目中使用session保存用戶信息所以導(dǎo)致后續(xù)請(qǐng)求相當(dāng)于未登錄的情況。
注意,這里的session不是小程序維護(hù)的那個(gè)通過(guò)wx.login()方法維護(hù)的session,而是我們自己的服務(wù)端的session。
由于正常情況下,客戶端向服務(wù)端發(fā)起請(qǐng)求時(shí),session信息是存放在cookie中以請(qǐng)求頭的方式帶回給服務(wù)端的,而請(qǐng)求頭中具體的信息就是session的id,如下圖所示標(biāo)紅的就是我們需要在請(qǐng)求時(shí)攜帶返回給服務(wù)端的請(qǐng)求頭 所以我們需要的就是這個(gè)JESSIONID的值了。
剛好,微信小程序也提供了對(duì)請(qǐng)求頭的支持。
解決辦法:
1、在用戶登錄時(shí),服務(wù)端將用戶的sessionId返回。
2、小程序保存sessionId,在之后的每次請(qǐng)求中在請(qǐng)求頭中攜帶sessionId服務(wù)端關(guān)鍵代碼:
獲取sessionId的方法,只要獲得request對(duì)象就可以輕松獲取到了Sting sessionId = request.getSession().getId();
把sessionId返回...//登錄時(shí)的業(yè)務(wù)代碼 response.getWriter.write(sessionId);
//把sessionId返回給前臺(tái)小程序端登錄后,把sessionId存入全局變量,app.js中是個(gè)存放全局變量的好地方。
...//登錄后的邏輯處理 getApp().globalData.header.Cookie = '
JSESSIONID='
+ _data.sessionId;
app.js中代碼globalData:{
header:{
'
Cookie'
: '
'
}
//這里還可以加入其它需要的請(qǐng)求頭,比如'
x-requested-with'
: '
XMLHttpRequest'
表示ajax提交,微信的請(qǐng)求時(shí)不會(huì)帶上這個(gè)的 }
,小程序端請(qǐng)求時(shí)帶上sessionIdvar header = getApp().globalData.header;
//獲取app.js中的請(qǐng)求頭 wx.request({
url: localhost:8080/xx/xx, header: header, //請(qǐng)求時(shí)帶上這個(gè)請(qǐng)求頭 success:function(res){
??}
}
建議封裝自己的請(qǐng)求信息,處理一些通用的邏輯。
推薦:
《小程序開發(fā)教程》以上就是微信小程序如何開發(fā)session管理?教程介紹的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
微信
分享相關(guān)標(biāo)簽:
session 小程序本文轉(zhuǎn)載于:
csdn,如有侵犯,請(qǐng)聯(lián)系[email protected]刪除
上一篇:
微信小程序下的單怎么退款?
下一篇:
微信小程序頁(yè)面間傳遞數(shù)據(jù)的幾種方法相關(guān)文章相關(guān)視頻微信小程序調(diào)用圖片安全API微信小程序特有頁(yè)面間傳參方式微信小程序頁(yè)面開發(fā)微信小程序前端源碼邏輯和工作流程解析關(guān)于小程序微信小程序如何開發(fā)session管理?教程介紹(歐陽(yáng)克)微信小程序與CMS后臺(tái)小程序項(xiàng)目介紹預(yù)覽認(rèn)識(shí)小程序開發(fā)工具 [溫州做小程序]