2014-11-04 120 views
1

我正在嘗試爲wordpress開發一個插件,並且在會話中遇到了一個小問題。我爲我的插件創建了自己的登錄頁面,當用戶輸入他的用戶名/密碼並按下登錄按鈕時,ajax請求會將數據發送到函數以檢查用戶詳細信息是否正確。 ajax調用的函數存儲在我的插件的index.php中。在ajax調用的函數中使用$ _SESSION,我可以打印我想要的變量,它已經在另一個文件中設置。然後,如果數據正確,則Ajax會重新加載頁面。當頁面重新加載時,會話不再存在。有誰知道我能如何解決這個問題?我在一個工作正常的本地服務器上實現了插件,但是當我將該項目上傳到服務器上的子域時,它停止了工作。wordpress在頁面刷新時丟失會話

AJAX代碼

success: function(data) { 
     console.log(data); 
     if (data !='') 
     { 
      var obj = $.parseJSON(data); 
      if (obj.status == "ok") 
      { 
       location.reload(); 
      } 
     } 

謝謝

回答

0

您在使用.RememberState功能,與你的Ajax調用試過嗎?通常這可能會被應用於表單(所以如果表單被部分填寫並且用戶刷新頁面,他們的更改將被保留),但理論上我不明白爲什麼你不能在文檔本身上使用它。看看這個鏈接它可能更清楚地解釋它

http://shaneriley.com/jquery/remember_state/

你想要調用之前做到這一點,並在成功回調,你應該能夠使用這個RememberState返回到活動會話你之前有過。如果這不是你所指的,我很抱歉誤解你的問題。

+0

當你在AJAX調用的函數上,而不是在AJAX – 2014-11-04 14:46:16

+0

的調用之前,你是否正在做一些Ajax調用的成功回調?如果你確信它已經被設置,那將會是你需要重新實例化會話的地方 – Dan 2014-11-04 14:48:16

+0

我已經用一個簡單的代碼 – 2014-11-04 14:54:27