微信小程序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
    })
   }
  })

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容