收藏
回答

wx.request session保持

问题模块
API和组件

微信每次请求时候  session_id会变吗,我获取验证码后  做另一个请求的时候  后台直接从session里面获取手机好  获取不到,这个怎么弄

最后一次编辑于  2017-01-06
回答关注问题邀请回答
收藏

6 个回答

  • 凛冬
    凛冬
    2017-10-12

    这个问题确实存在:小程序没有会话保持机制。同一个客户端每次发起请求,服务端都会重新生成一个session对象,暂时有个解决办法就是在请求头加上sessionId。


    wx.request({

    url: config.base_url + 'xcx/wysq/checkSession.do',

    method: 'GET',

    header: { 'content-type''application/x-www-form-urlencoded''Cookie''JSESSIONID=' + sessionId },

    success: function (result) {...}


    我这个是Java的,php可能会有点区别。这样确实能获取上次的session对象,但关键是这个sessionId是放在客户端缓存中的,如果服务重启或者用户清空了缓存,就必须重新生成一个session对象。


    所以每次进入页面onShow()里都要去服务端验证下session对象是否还活着。。。


    2017-10-12
    赞同
    回复
  • afu
    afu
    2017-02-14

    第一次请求的时候让服务器返回sessionid,然后存下,之后每次的请求在header里写上存下的sessionid

    2017-02-14
    赞同
    回复
  • 张冲
    张冲
    2017-01-06

    设置在 header里面吗

    2017-01-06
    赞同
    回复
  • 陈培彬
    陈培彬
    2017-01-06

    接口是服务的,sessionid放到小程序的缓存,每次请求需要sessionid的地方就传值

    2017-01-06
    赞同
    回复
  • 张冲
    张冲
    2017-01-06

    具体怎么弄呢

    2017-01-06
    赞同
    回复
  • One
    One
    2017-01-06

    用openid

    2017-01-06
    赞同
    回复