我有一个骨干项目,它在Google App Engine上调用一个返回JSON数据的服务。骨干集合“解析”没有被调用,也没有我在骨干中得到错误...这个问题似乎仅限于IE8,因为IE7和IE9实际上是有效的。 Chrome,Firefox等......都可以正常运行。
答案 0 :(得分:0)
这在IE8中是跨域的问题。我通过将XDomainRequest添加到我的Backbone Collection中的初始化来修复它。
initialize: function(){
$this = this;
//fix for IE8 and IE9
if ($.browser.msie && parseInt($.browser.version, 10) <= 9 && window.XDomainRequest) {
var xdr = new XDomainRequest();
xdr.open("get", "http://localhost:8080/service");
xdr.onload = function(){
$this.parse($.parseJSON(xdr.responseText));
};
xdr.send();
}
},
答案 1 :(得分:0)
对于任何未来的用户,我建议查看此插件脚本以扩展Backbone的ajax功能并自动添加对旧版IE浏览器的支持。类似于OP的答案,它增加了xDomainRequests,但是你的工作量减少了。 : - )