解決小程序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
        })
      }
    })

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM