由於小程序端兩次請求的 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
})
}
})
