欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-01-09 12:50:47
问题 由于小程序端两次请求的 sessionid 不一致, 导致后端无法取得 session 解决办法 在登录时获取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
    })
   }
  })

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