解決小程序無法觸發SESSION問題


一、首先找到第一次發起網絡請求的地址,將服務器返回set-cookie當全局變量存儲起來

 

wx.request({
  ......
  success: function(res) {
    console.log(res.header);
    //set-cookie:PHPSESSID=ic4vj84aaavqgb800k82etisu0; path=/; domain=.fengkui.net

    // 登錄成功,獲取第一次的sessionid,存儲起來
    // 注意:Set-Cookie(開發者工具中調試全部小寫)(遠程調試和線上首字母大寫)
    wx.setStorageSync("sessionid", res.header["Set-Cookie"]);
  }
})

  

二、請求時帶上將sessionid放入request的header頭中傳到服務器,服務器端可直接在cookie中獲取

 

wx.request({
  ......
  header: {
    'content-type': 'application/json', // 默認值
    'cookie': wx.getStorageSync("sessionid")
    //讀取sessionid,當作cookie傳入后台將PHPSESSID做session_id使用
  },
  success: function(res) {
    console.log(res)
  }
})

  

三、后台獲取cookie中的PHPSESSID,將PHPSESSID當作session_id使用

<?php
// 判斷$_COOKIE['PHPSESSID']是否存在,存在則作session_id使用
if ($_COOKIE['PHPSESSID']) {
    session_id($_COOKIE['PHPSESSID']);
}

session_start();
echo session_id();

  

wx.setStorageSync(string key, any data)
將數據存儲在本地緩存中指定的key中。會覆蓋掉原來該key 對應的內容。
any wx.getStorageSync(string key)
從本地緩存中異步獲取指定key的內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM