javascript - 防止 xmlHttpRequest '是浏览器缓存

标签 javascript ajax xmlhttprequest

似乎除了 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/

相关文章:

javascript - 不使用 onclick 函数将数据发送到 Controller

javascript - 如何在 Firefox 中从 JavaScript 解析 HTML?(2)

angularjs - ExpressJS/NodeJS 的 https 访问响应不安全

javascript - 如何在javascript中提取特定字符串

javascript - 带 ui-router 的 Angular Material 中每个选项卡都有单独的 Controller

javascript - Angularjs Select 选择数据传递

javascript - Kendo UI,如何在 kendo 网格单元格上手动调用 validate()

javascript - 在 AJAX js 调用中动态分配值

jquery - Ajax/jQuery : How to communicate Ajax call error back to user

javascript - response.headers 中的 axios 不显示 x 操作