【问题标题】:Script not working properly in IE 10脚本在 IE 10 中无法正常工作
【发布时间】:2013-08-11 17:54:43
【问题描述】:

我正在使用以下代码从 SQL 数据库中获取一些数据。它在所有浏览器中都可以正常工作,除了 IE10。它更新一次,然后只保留初始值。当数据库中的值发生变化时,它不会改变。

setInterval(function turkey () {

    jQuery('#lat_grabber').load('mapReloadLat.php');
    jQuery('#lng_grabber').load('mapReloadLong.php');

【问题讨论】:

  • 看看this,也许能帮上忙
  • 谢谢...你所说的“传递一个改变到调用中的变量”是什么意思??
  • 改变调用的变量:jQuery('#lat_grabber').load('mapReloadLat.php', {nonce: (new Date()).getMilliseconds()});

标签: javascript jquery internet-explorer setinterval


【解决方案1】:

您的 AJAX 请求很可能从缓存中获得服务(您可以使用 Fiddler 进行验证)。

要解决这个问题,我会将负载更改为 jQuery.ajax 调用,这样您就可以将缓存属性设置为 false。

jQuery.ajax({
    url: "mapReloadLat.php",
    cache: false,
    complete: function (data) {
        jQuery('#lat_grabber').html(data);
    }
});

【讨论】:

  • 是的,IE 几乎总是会缓存 ajax 请求,除非您使用 cache: false (附加一个随机查询字符串参数)或者除非您非常仔细地设置标题以防止缓存(然后清除缓存以便IE 必须使用 no-cache 标头提取新版本)
猜你喜欢
  • 2012-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-07
  • 2015-04-04
  • 1970-01-01
相关资源
最近更新 更多