PHP中奇怪的$\会话行为
可能重复:PHP中奇怪的$\会话行为,php,javascript,jquery,Php,Javascript,Jquery,可能重复: 我目前(在我看来)在PHP中遇到了一个奇怪的问题 在页面卸载($(window.unload)中,jQuery向save.php发送同步post请求 它包含一些应保存在$\u会话[“data”]中的数据。当当前页面仍然显示时,我可以获取jqXHR对象,并使用alert()显示responseText中包含的一些测试字符串。但在下一页,这些数据还不可用。我只需要重新装填,一切都很好 在我看来,我的浏览器(Firefox/Chrome)在后台加载下一页,而post请求尚未完成。或者是$
我目前(在我看来)在PHP中遇到了一个奇怪的问题 在页面卸载(
$(window.unload
)中,jQuery向save.php
发送同步post请求
它包含一些应保存在$\u会话[“data”]
中的数据。当当前页面仍然显示时,我可以获取jqXHR
对象,并使用alert()
显示responseText
中包含的一些测试字符串。但在下一页,这些数据还不可用。我只需要重新装填,一切都很好
在我看来,我的浏览器(Firefox/Chrome)在后台加载下一页,而post请求尚未完成。或者是
$\u会话有问题?可能是将事件附加到窗口。卸载不是一个好主意。浏览器可能首先获取下一页,然后调用事件,在这种情况下,您看到的是未更改(尚未更改)。因此,您可以附加到导致导航的事件,而不是附加到卸载事件
例如:
- 点击链接,取消默认行为,调用ajax save.php脚本,然后使用
window.location.href
- 附加到表单帖子,取消帖子,调用ajax,然后发布表单
希望有帮助您能发布代码吗?请记住,现在浏览器都是预取网站。在用户考虑离开当前页面之前,下一个页面可能已经加载。我想这就是问题所在。有没有办法避免这种情况?