這篇“小程序如何保存服務端sessionid”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“小程序如何保存服務端sessionid”文章吧。
普通的Web開發,都是把sessionid保存在cookie中傳遞的。
不管是java還是php,服務端的會在response的header中加上Set-Cookie
Response HeadersContent-Type:application/json;charset=UTF-8Date:Mon, 02 Apr 2018 16:02:42 GMTSet-Cookie:JSESSIONID=781C7F500DFA24D663BA243A4D9044BC;path=/yht;HttpOnly
瀏覽器的請求也會在header中加上
Request HeadersAccept:*/*Accept-Encoding:gzip, deflate, brAccept-Language:zh-CN,zh;q=0.8Cache-Control:no-cacheConnection:keep-aliveContent-Length:564content-type:application/jsonCookie:JSESSIONID=781C7F500DFA24D663BA243A4D9044BC;path=/yht;HttpOnly
通過這個sessionid就能使瀏覽器端和服務端保持會話,使瀏覽器端保持登錄狀態
但是,微信小程序不能保存Cookie,導致每次wx.request到服務端都會創建一個新的會話,小程序端就不能保持登錄狀態了
簡單的處理方法如下:
1、把服務端response的Set-Cookie中的值保存到Storage中
wx.request({
url: path,
method:method,
header: header,
data:data,
success:function(res){
if(res && res.header && res.header['Set-Cookie']){
wx.setStorageSync('cookieKey', res.header['Set-Cookie']);//保存Cookie到Storage
}
},
fail:fail
})
wx.request再從Storage中取出Cookie,封裝到header中
let cookie = wx.getStorageSync('cookieKey');
let path=conf.baseurl+url;
let header = { };
if(cookie){
header.Cookie=cookie;
}
wx.request({
url: path,
method:method,
header: header,
data:data,
success:success,
fail:fail
})
以上就是關于“小程序如何保存服務端sessionid”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。