2014-11-04 70 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