微信小程序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
})
}
})
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。