站長資訊網
        最全最豐富的資訊網站

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

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

        在微信小程序開發中,由wx.request()發起的每次請求對于服務端來說都是不同的一次會話,微信小程序不會把session信息帶回服務端,即對應服務端不同的session,由于項目中使用session保存用戶信息所以導致后續請求相當于未登錄的情況。

        注意,這里的session不是小程序維護的那個通過wx.login()方法維護的session,而是我們自己的服務端的session。

        由于正常情況下,客戶端向服務端發起請求時,session信息是存放在cookie中以請求頭的方式帶回給服務端的,而請求頭中具體的信息就是session的id,如下圖所示

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

        標紅的就是我們需要在請求時攜帶返回給服務端的請求頭 所以我們需要的就是這個JESSIONID的值了。剛好,微信小程序也提供了對請求頭的支持。

        解決辦法:

        1、在用戶登錄時,服務端將用戶的sessionId返回。

        2、小程序保存sessionId,在之后的每次請求中在請求頭中攜帶sessionId

        服務端關鍵代碼:

        獲取sessionId的方法,只要獲得request對象就可以輕松獲取到了

        Sting sessionId = request.getSession().getId();

        把sessionId返回

        ...//登錄時的業務代碼 response.getWriter.write(sessionId);//把sessionId返回給前臺

        小程序端登錄后,把sessionId存入全局變量,app.js中是個存放全局變量的好地方。

        ...//登錄后的邏輯處理 getApp().globalData.header.Cookie = 'JSESSIONID=' + _data.sessionId;

        app.js中代碼

        globalData:{ header:{'Cookie': ''} //這里還可以加入其它需要的請求頭,比如'x-requested-with': 'XMLHttpRequest'表示ajax提交,微信的請求時不會帶上這個的 },

        小程序端請求時帶上sessionId

        var header = getApp().globalData.header; //獲取app.js中的請求頭 wx.request({ url: localhost:8080/xx/xx, header: header, //請求時帶上這個請求頭 success:function(res){ ??} }

        建議封裝自己的請求信息,處理一些通用的邏輯。

        推薦:《小程序開發教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产精品1区2区| 久久久久久久久久免免费精品| www.日韩精品| 国产综合色在线精品| 欧美在线精品永久免费播放| 麻豆精品不卡国产免费看| 精品无码人妻一区二区三区品| 四虎影院国产精品| 国产精品永久免费视频| 久久精品国产影库免费看| 国产亚洲精品自在久久| 中国精品18videosex性中国| 久久www免费人成精品香蕉| 99熟女精品视频一区二区三区| 国内精品久久久人妻中文字幕| 亚洲精品国产成人片| 麻豆精品国产自产在线观看一区| 国产精品 码ls字幕影视| 国产精品无码成人午夜电影| 欧美精品亚洲精品日韩传电影 | 久久狠狠高潮亚洲精品| 99久久国产热无码精品免费 | 精品视频一区二区三三区四区 | 精品欧美一区二区在线观看| 四虎精品影院4hutv四虎| 国产剧情国产精品一区| 久久久精品2019免费观看| 青草国产精品久久久久久| 久久久久国产精品熟女影院| 精品无码人妻一区二区免费蜜桃| 人妻AV一区二区三区精品| 精品亚洲成AV人在线观看| 国产在线精品一区二区中文| 国产乱码精品一品二品| 国产精品免费福利久久| 99在线精品视频观看免费| 91精品最新国内在线播放| 国产精品你懂的| 99精品欧美一区二区三区| 国产精品主播一区二区| 免费精品精品国产欧美在线|