当前位置:  开发笔记 > 编程语言 > 正文

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

这篇文章主要介绍了微信小程序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
    })
   }
  })

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

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有