美文网首页
解决express-session在小程序上拿不到值

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

作者: 磨人的磨磨虫 | 来源:发表于2019-12-18 16:23 被阅读0次

    长话短说,为什么拿不到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不同步的问题,是不是很简单

    相关文章

      网友评论

          本文标题:解决express-session在小程序上拿不到值

          本文链接:https://www.haomeiwen.com/subject/vryunctx.html