1

我正在使用 ajax 调用来调用 php 脚本,该脚本通过 sleep 等待 40 秒,然后输出RELOAD。在 JavaScript 中,检查输出是否为RELOAD,如果是,则再次开始调用。

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

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

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

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

感谢您的帮助!

4

1 回答 1

0

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

于 2012-07-30T07:21:32.570 回答