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

  

posted on   婧星  阅读(2798)  评论(0)    收藏  举报

< 2025年5月 >
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

导航

统计

点击右上角即可分享
微信分享提示