【发布时间】: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