PHP中奇怪的$ _SESSION行为

时间:2012-09-29 13:56:11

标签: php javascript jquery

  

可能重复:
  How to make php scripts run in parallel?

我目前正在(在我看来)PHP中$_SESSION superglobal的奇怪问题。

在页面卸载($(window).unload)jQuery向save.php发送同步发布请求。

它包含一些应保存在$_SESSION["data"]中的数据。当仍然显示当前页面时,我可以获取jqXHR对象并显示responseText中包含alert()的一些测试字符串。但是在下一页上,这些数据还没有。我只需要重装,一切都很好。

在我看来,我的浏览器(Firefox / Chrome)在后台加载下一页,而帖子请求尚未完成。或者问题是$_SESSION

1 个答案:

答案 0 :(得分:0)

可能会将事件附加到window.unload并不是一个好主意。浏览器可以先获取下一页然后调用该事件,在这种情况下,您的视图不会更改(尚未)。因此,您可以附加到导致导航的事件

,而不是附加到卸载事件

例如:

  • 附加到链接点击,取消默认行为,调用您的ajax save.php脚本然后手动使用window.location.href进行导航
  • 附上表格帖子,取消帖子,拨打ajax然后发表表格....

希望有帮助