解决express-session在小程序上拿不到值

长话短说,为什么拿不到session的值,原因如下:
重点在于cookie这个点,因为小程序的请求并没要为我们自动保存cookie,导致服务端的session验证不了请求的来源,每次都会新注册一个session
那怎么解决?
很简单,既然小程序没有这个机制,我们手动给它补上,OK,看下代码

// 拿到服务sessionId
const sessionId = getSessionId()

// 为请求头上的cookie添加sessionId
const header = {
   'cookie': sessionId
}

const RequestTasks = wx.request({...,header,...})
// 拿到响应头的sessionId
RequestTasks.onHeadersReceived(res=>{
   const sessionId = res.header["Set-Cookie"]
   setSessionId(sessionId)
})

const getSessionId = () => {
  const sessionId = wx.getStorageSync('serveSessionId') || ''
  return sessionId
}

const setSessionId = sessionId => {
  wx.setStorageSync('serveSessionId', sessionId)
}

以上就是解决session不同步的问题,是不是很简单

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cooki...
    时芥蓝阅读 6,923评论 1 17
  • 转自 :http://blog.csdn.net/taoff/articles/1921009.aspx 一、术语...
    stone_yao阅读 11,370评论 0 31
  • 直接上代码先,后面有截图可以参考,小白代码。 举一反三,可以实现 从左边显示,右边显示,上面显示的view。 参考...
    selice阅读 8,343评论 1 1
  • 稳固了根本,就极速扩张加强。 边界。。。
    狗九城阅读 1,209评论 0 0
  • 1.感恩这天的太阳都出来,家里所有该洗的都结束了,清理了嫁妆床上用品,结婚到现在只用了一次,还有的是新的,我记得十...
    天禅阅读 2,738评论 0 1