阻止xmlHttpReq的浏览器缓存

时间:2010-10-21 06:47:28

标签: javascript ajax xmlhttprequest

似乎除了Opera之外的所有浏览器都在我的Javascript程序中缓存XHR请求。 XHR请求中的URL是指服务器上的CGI程序,每次调用它时都会生成不同的输出。乙 Javascript中是否有一种方法可以使浏览器不缓存XHR请求?

1 个答案:

答案 0 :(得分:10)

对于您做的每个AJAX请求,生成一个唯一值并将其作为查询参数添加到ajax URL:

/example/url/post.php?rand=09809807896768

我用来在JS中生成当前的unix时间戳并使用它 - 这可以确保我不会得到重复的标记。

这样每个请求都是唯一的,不会被缓存。这是一个简单但相当常见的AJAX技巧 - 通常可以修复IE和测试问题。

如果您要使用jQuery,它会通过在AJAX settings上将属性缓存设置为false来为您执行此操作。