首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Backbone.js无法解析IE中的数据

Backbone.js无法解析IE中的数据
EN

Stack Overflow用户
提问于 2012-05-31 11:03:53
回答 3查看 348关注 0票数 1

我正在使用backbone.js建立一个网站。它在我们的开发服务器上运行得很好,但它不能使用IE7-9解析客户端服务器中的数据。(Firefox和Safari都不错)

我发现backbone调用fetch()来请求数据,但是当数据返回时,它不会启动parse()。我找不到成功或错误返回。这里有一段代码:

代码语言:javascript
运行
复制
EMR.CategoriesCollection = Backbone.Collection.extend({

        url : 'contents/json/categories.txt',

        initialize:function () {
            console.log('Get data from:', this.url);
            this.fetch();
        },

        model: EMR.ItemModel,

        parse : function(data) {
            console.log("CategoriesCollection parse data:", [data]);
            return data; 
        }
    });

请比较下面的两个链接(在IE 7-9中),它们是相同的代码集,只是服务器不同:

它可以工作: 1) http://pms.dq.hk/clients/amex_eMR/client/cn/emr/test_data.html

失败: 2) http://qwww.americanexpress.com/hk/cn/emr/test_data.html

如果backbone发送了fetch(),但parse()没有触发,如何跟踪该问题?

有没有什么可行的办法让我试试?

谢谢你的建议。

致以敬意,

迈克尔

EN

回答 3

Stack Overflow用户

发布于 2012-05-31 11:48:17

我能看到的两者之间唯一的区别是响应头。

您的服务器:

代码语言:javascript
运行
复制
Connection  Keep-Alive
Date    Thu, 31 May 2012 03:41:16 GMT
Etag    "ae6691-123ac-59de3b00"
Keep-Alive  timeout=15, max=98
Server  Apache/2.0.63 (Unix) PHP/5.3.2 DAV/2

客户端服务器:

代码语言:javascript
运行
复制
Connection  keep-alive
Content-Type    text/plain; charset=big-5
Date    Thu, 31 May 2012 03:41:25 GMT
Last-Modified   Tue, 22 May 2012 06:41:10 GMT
Vary    Accept-Encoding

客户机-服务器响应中的content-type引起了我的注意,但我不是IE专家。您可能希望提及您使用哪个版本的IE遇到问题,并测试一些其他版本以隔离它。

票数 0
EN

Stack Overflow用户

发布于 2012-05-31 17:24:39

有没有什么可行的方法可以让我试试?

你好。您是否尝试将错误回调添加到fetch方法?此外,«fail»服务器以fail格式发送fail内容。也许IE不能以正确的方式处理gzipped?或者您可以尝试将Content-Type标题从«text/plain»更改为«application/json»?

票数 0
EN

Stack Overflow用户

发布于 2012-06-04 13:45:21

问题出在这里:http://forum.jquery.com/topic/the-problem-with-ie8-and-encoding-error-c00ce56e

我们的客户机的服务器在

代码语言:javascript
运行
复制
Content-Type    text/plain; charset=big-5

当我在fetch()中添加错误处理程序时,我可以看到错误返回“由于错误c00ce56e而无法完成操作”。这就是parse()不起作用的原因。

我无法更改客户端的服务器设置,因此我将数据文件放到返回Content-Type text/plain;的其他目录中,以解决此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10826930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档