微信小程序不能保存Cookie,导致每次wx.request到服务端都会创建一个新的会话(传过去的sessionid会变化),小程序端就不能保持登录状态了。

一个比较简单的办法就是把服务端response的Set-Cookie中的值保存到Storage中。

登录成功后,添加Cookie:

wx.setStorageSync("cookieKey", res.header["Set-Cookie"]);

然后调用接口时,在header中加入:

'Cookie': wx.getStorageSync('cookieKey')

接口调用由之前的:

wx.request({
  url: 'test.php',
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json' 
  },
  success (res) {
    console.log(res.data)
  }
})

变为:


wx.request({
  url: 'test.php', 
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json' ,
    'Cookie': wx.getStorageSync('cookieKey')
  },
  success (res) {
    console.log(res.data)
  }
})

如果你也想开发软件或者小程序的话,可以通过第三方专业开发平台,来帮助你实现开发需求:厦门在乎科技-专注小程序、app、网站开发

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐