微信小程序sessionid不一致问题解决

(编辑:jimmy 日期: 2024/11/17 浏览:2)

问题

由于小程序端两次请求的 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
    })
   }
  })

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。