回溯历史后,Firefox中的Ajax调用缓存

Ajax call caching in Firefox after going back in history

本文关键字:Ajax 调用 缓存 中的 Firefox 历史 回溯      更新时间:2024-04-05

我使用ajax调用来调用php脚本,该脚本通过睡眠等待40秒,然后输出RELOAD。在JavaScript中,输出被检查为RELOAD,如果是,则调用再次启动。

这在我使用的每一页上都很好。但在Firefox中,有一个特定情况下的问题。

我在这个打电话的页面上,然后我点击一个链接进入另一个页面。之后,我点击历史记录(返回)按钮返回。在这种情况下,调用确实启动了,但firefox似乎已经缓存了结果并立即输出RELOAD。这导致调用只需要几毫秒就可以加载,而且我没有得到任何实现的内容。它甚至没有连接到服务器(当ajax调用继续进行时,我更改了php文件,但没有效果)。

因此,在使用后退按钮(或javascript:history.back())的情况下,Firefox似乎只使用缓存输出ONLY。如果我正常加载页面(通过链接或在地址栏中输入url),那么调用确实会正确地到达服务器并获得实际内容。

有没有一种方法可以从PHP或JavaScript覆盖这种行为?我正在使用jQuery.ajax(),并且我已经设置了"cache:false"-选项。

谢谢你的帮助!

我只是通过在URL中添加一个随机数来解决这个问题。这个解决方案确实有效,但它根本不是一个非常漂亮的解决方案。