IE8上的主干获取响应失败

时间:2012-12-18 19:55:28

标签: json google-app-engine backbone.js fetch

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

2 个答案:

答案 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,但是你的工作量减少了。 : - )

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