可能的重复:
防止缓存 AJAX 调用 https://stackoverflow.com/questions/367786/prevent-caching-of-ajax-call
我正在使用 jQuery 读取 Web 服务器上的一个小文本文件:
jQuery.get('scores.txt', function(data) {
parseScores(data);
});
这几乎可以正常工作——但它不能可靠地加载文件的最新版本。即使story.txt
已更改,刷新页面返回完全相同的值data
.
服务器是标准的 Mac OS Apache,没有启用缓存,并且它与客户端是同一台机器——所以理论上在我和它之间没有其他缓存。
如果我加载http://127.0.0.1/scores.txt
进入浏览器,然后它总是打开最新版本。
查看 Apache 日志,页面无法更新的时候,jQuery GET 请求从未到达服务器。
我怀疑我可能需要将这个问题转移到 serverfault.com,但是任何人都可以看到我的 JavaScript 存在问题,导致它以这种方式运行吗?
有没有办法使用 JavaScript/jQuery 强制浏览器请求文件的新副本?
提前致谢。
尝试添加cache: false http://api.jquery.com/jQuery.ajax/您的 AJAX 选项:
jQuery.ajax({
url: 'scores.txt',
dataType: 'text',
type: 'GET',
cache: false,
success: parseScores
});
jQuery 会自动为每个请求添加一个防止缓存的时间戳。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)