奇怪的 IE7 $.getJSON ajax 调用

发布于 2024-10-17 02:29:22 字数 122 浏览 1 评论 0原文

我正在使用 $.getJSON 执行对最新数据库更新的 ajax 调用。 Chrome 和 Firefox 工作正常,但 IE7 当使用 IE7 时,服务器将响应我清除 IE7 缓存后的第一次更新。

有什么想法吗?

I'm using $.getJSON to execute an ajax call to the latest database update. Chrome and Firefox work fine, but IE7 when using IE7, the server will response the first update I have since I clear IE7 cache.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

可以使用 $.ajax 代替这些选项..注意 'cache: false':

$.ajax({
  url: url,
  dataType: 'json',
  cache: false,
  data: data,
  success: callback
});

请参阅: http:// api.jquery.com/jQuery.ajax/

could use $.ajax instead with these options.. notice 'cache: false':

$.ajax({
  url: url,
  dataType: 'json',
  cache: false,
  data: data,
  success: callback
});

see : http://api.jquery.com/jQuery.ajax/

蒲公英的约定 2024-10-24 02:29:22

我以前也经历过这样的事。您可能希望添加一个每次都不同的新参数。像这样:

var ts = new Date().getTime(); //get the current timestamp
//add the ts as a parameter to your call along with all your other data. 

这样每个请求都是不同的,IE 不会缓存它。

I have experienced this before. You would want to add a new parameter that is different everytime. Something like this:

var ts = new Date().getTime(); //get the current timestamp
//add the ts as a parameter to your call along with all your other data. 

This way every request is different and IE wont cache it.

∞琼窗梦回ˉ 2024-10-24 02:29:22

IE 有缓存 AJAX 调用响应的坏习惯。

将虚拟参数添加到查询字符串中,该参数在每次进行 AJAX 调用时都会更改,然后您将获得新的结果。

更新:如果您使用 Mootools,那么您可以自动完成此操作。查找 noCache 选项。

IE has this bad habit of caching responses to AJAX calls.

Add a dummy parameter to your query string that changes each time you make the AJAX call, and then you'll get fresh results.

Update: If you use Mootools, then you can have this done automatically. Look for the noCache option.

无言温柔 2024-10-24 02:29:22

这是缓存的问题,其中 IE 缓存您的数据,以便后面的调用不会从服务器获取结果,而是在 IE 缓存中获取结果

如果您对所有 ajax 使用 jQuery,那么您应该首先运行此:

$.ajaxSetup({
  cache: false
});

如果设置为 false,它将强制浏览器不缓存请求的页面。

This is an issue withthe cache, where IE Caches your data so that the latter calls do not get the results from the server but within the IE Cache

If your using jQuery for all your ajax then you should run this first:

$.ajaxSetup({
  cache: false
});

If set to false, it will force requested pages not to be cached by the browser.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文