问题
由于小程序端两次请求的 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 }) } })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
© 版权声明
THE END
暂无评论内容