0

我有一个骨干项目,它正在调用返回 JSON 数据的 Google App Engine 上的服务。没有调用主干集合“解析”,也没有在主干中收到错误...这个问题似乎仅限于 IE8,因为 IE7 和 IE9 确实有效。Chrome、Firefox 等……都可以正常工作。

4

2 回答 2

0

这原来是 IE8 中的跨域问题。我通过将 XDomainRequest 添加到我的主干集合中的初始化来修复它。

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();
            }
        },
于 2012-12-18T23:26:19.157 回答
0

对于任何未来的用户,我建议查看这个插入式脚本来扩展 Backbone 的 ajax 功能并自动添加对旧 IE 浏览器的支持。与 OP 的答案类似,因为它添加了 xDomainRequests,但对您的工作较少。:-)

https://github.com/victorquinn/Backbone.CrossDomain

于 2015-08-06T15:29:24.633 回答