小程序模板網(wǎng)

微信小程序開發(fā)之保持用戶的session

發(fā)布時(shí)間:2018-04-23 10:07 所屬欄目:小程序開發(fā)教程

微信小程序開發(fā)之保持用戶的session

 

在微信小程序開發(fā)中,由wx.request()發(fā)起的每次請(qǐng)求對(duì)于服務(wù)端來說都是不同的一次會(huì)話,即對(duì)應(yīng)服務(wù)端不同的session,由于項(xiàng)目中使用session保存用戶信息所以導(dǎo)致后續(xù)請(qǐng)求相當(dāng)于未登錄的情況。

解決辦法:1、在用戶登錄時(shí),服務(wù)端將用戶的sessionId返回。

     2、小程序保存sessionId,在之后的每次請(qǐng)求中在請(qǐng)求頭中攜帶sessionId

服務(wù)端關(guān)鍵代碼:

this.outString("{sessionId:'" + request.getSession().getId() + "',}");

小程序端登錄后,把sessionId存入全局變量

getApp().globalData.header.Cookie = 'JSESSIONID=' + _data.sessionId;

app.js中代碼

  globalData:{
    header:{'Cookie': ''} //這里還可以加入其它需要的請(qǐng)求頭,比如'x-requested-with': 'XMLHttpRequest'表示ajax提交,微信的請(qǐng)求時(shí)不會(huì)帶上這個(gè)的
  },

小程序端請(qǐng)求時(shí)帶上sessionId

建議封裝自己的工具,不然每次請(qǐng)求都這樣加就很煩。

 

微信小程序 獲取openid 存入數(shù)據(jù)庫(kù) C#

 

				
  1. string JsCode2SessionUrl = "";
  2. protected void Page_Load(object sender, EventArgs e)
  3. {
  4. JsCode2SessionUrl = "https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code";
  5. if (Request["Action"] == "ActionLogin")
  6. {
  7. string str_encryptedData =


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉(cāng)庫(kù):starfork
本文地址:http://m.u-renovate.com/wxmini/doc/course/23888.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢
AI智能客服 ×