似乎除了 Opera 之外的所有浏览器都在我的 Javascript 程序中缓存了 XHR 请求。 XHR 请求中的 URL 引用服务器上的 CGI 程序,每次调用时都会生成不同的输出。乙 Javascript 有没有办法让浏览器不缓存 XHR 请求?
最佳答案
对于您发出的每个 AJAX 请求,生成一个唯一值并将其作为查询参数添加到 ajax URL:
/example/url/post.php?rand=09809807896768
我用来在 JS 中生成当前的 unix 时间戳并使用它 - 这确保我不会得到重复的时间戳。
这样每个请求都是唯一的,不会被缓存。这是一个简单但相当常见的 AJAX 技巧 - 通常修复 IE 和测试问题。
如果您要使用 jQuery,它会通过在 AJAX settings 上将属性缓存设置为 false 来为您完成此操作。 .
关于javascript - 防止 xmlHttpRequest '是浏览器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3984961/