问题
由于小程序端两次请求的 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 }) } })
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。