【问题标题】:IE9 error: SCRIPT5007: Unable to get value of the property 'ajax': object is null or undefinedIE9 错误:SCRIPT5007:无法获取属性“ajax”的值:对象为空或未定义
【发布时间】:2013-05-24 10:40:11
【问题描述】:

我的问题

我正在尝试在网页上放置地图,使用 Ajax 获取数据。它适用于所有浏览器,但不适用于 IE9。

我收到一个错误:

SCRIPT5007:无法获取属性“ajax”的值:对象为空或未定义

地图无法加载。

代码

       var mapModel = new Map(); 

       mapModel.get("leads").fetch({success: function(){ //error on this line
              var mapView = new MapView({ model: mapModel });
              $('body').append(mapView.el);
              mapView.render();
           }});

我尝试了什么

这似乎是一个非常普遍的问题,here 是该主题上投票率最高的问题。所以我试着把

 <meta http-equiv="X-UA-Compatible" content="IE=8"/>

但它没有解决任何问题。

我的问题

我应该怎么做才能解决这个问题?

【问题讨论】:

  • 您是否包含了 JQuery? Backbone 的 fetch() 方法委托给 $.ajax() 方法。如果在某个对象上找不到ajax,那一定是缺少$。
  • 我也想知道这一点。但是为什么它可以在 chrome 中工作呢?
  • 在 IE9 上按 F12 并转到控制台,键入“$”。结果是?
  • 所以JQuery没有加载,尝试清空IE缓存,查看javascript的配置。
  • 在其他浏览器上也能用吗?如果它有效我不知道你的问题是什么,否则它不起作用那么你需要在fetch 内部进行更改,因为它返回了一些东西(比如 json)

标签: javascript ajax internet-explorer backbone.js


【解决方案1】:

好的,我发现了问题:

IE9 以兼容模式呈现页面。

我加了

<meta http-equiv="X-UA-Compatible" content="IE=edge" >

作为标题的第一行,现在它可以工作了。

【讨论】:

    【解决方案2】:

    我终于解决了这个问题。

    在我的母版页中,有一个脚本管理器。我将它替换为 ToolkitScriptManager,它实际上是与 AjaxControlToolkit 4.0 一起打包的。

    现在效果很好。

    希望这可能对某人有所帮助

    【讨论】:

      猜你喜欢
      • 2011-08-12
      • 2014-02-03
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多