微信小程序之坑(一) JESSIONID一直变动问题

前台使用wx.request方法请求的话 head里面的jessionid会一直变得  所以 后台需要这样处理  session.getId() 之后response.getWriter().write(session.getId());  之后让前台 放到head里面就可以了

可能有些人用了response.getWriter().write(session.getId());  会报错

getWriter() has already been called for this response异常

之后 你可以这么处理 

//小程序 把jsessionid返回给前台 之后每次再放到head中传过来就可以了
//response.getWriter().write(session.getId());
ServletOutputStream outputStream = response.getOutputStream();
outputStream.write(session.getId().getBytes());
outputStream.flush();
outputStream.close();

 当然 如果前台可以获取到head里面的数据的话  可以直接把jsessionid 放到head里面 这样更便利一些

 

... //登录后的逻辑处理
getApp().globalData.header.Cookie = 'JSESSIONID=' + _data.sessionId;
  globalData:{
    header:{'Cookie': ''} //这里还可以加入其它需要的请求头,比如'x-requested-with': 'XMLHttpRequest'表示ajax提交,微信的请求时不会带上这个的
  },
var header = getApp().globalData.header; //获取app.js中的请求头
  wx.request({
    url: "localhost:8080/xx/xx",
    header: header, //请求时带上这个请求头
    success:function(res){
  }
}


posted @ 2018-08-20 18:19  sysogg  阅读(739)  评论(0编辑  收藏  举报