问题由于小程序端两次请求的sessionid不一致,导致后端无法取得session解决办法在登录时获
问题
由于小程序端两次请求的 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 不一致