解决小程序sessionid不一致
Posted lvxisha
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决小程序sessionid不一致相关的知识,希望对你有一定的参考价值。
由于小程序端两次请求的 sessionid 不一致, 导致后端无法取得 session,解决办法:
在登录时获取sessionid
//第一次请求登录接口时保存到sessionid中
success: function (res) wx.hideLoading(); wx.removeStorageSync(‘sessionid‘);//每次登录时清楚缓存 if (res.data.code == "0000") if (res.data.data.roleList[0].value ==‘student‘) wx.showToast( title: ‘登录成功‘, icon: ‘success‘, duration: 1000 ) wx.setStorageSync(‘sessionid‘, res.header[‘Set-Cookie‘]); //保存Cookie到Storage else wx.showToast( title: ‘登录失败‘, icon: ‘none‘, duration: 2000 ) ,
在后面进行页面的请求时,在请求头header
里加上你存储的这个Set-Cookie
的值
wx.request( url: ‘https://xxxx/examResult/selectWxListStudentStudyStatistic‘, method: ‘post‘, header: ‘content-type‘: ‘application/x-www-form-urlencoded‘,//解决请求不到数据 ‘cookie‘: wx.getStorageSync("sessionid")//读取sessionid,当作cookie传入后台将phpSESSID做session_id使用 , success: function (res) wx.hideLoading();//去掉loading , fail: function (e) wx.showToast( title: ‘服务器出现错误‘, icon: ‘none‘, duration: 2000 ) )
以上是关于解决小程序sessionid不一致的主要内容,如果未能解决你的问题,请参考以下文章
前后端分离(跨域)sessionid不一致Safari浏览器解决方案(不能保持会话或者不能存储cookie)
分析HttpServletRequest的sessionId不一致的原因
分析HttpServletRequest的sessionId不一致的原因