【发布时间】:2010-09-24 19:52:20
【问题描述】:
我有一个 DataTable 和 DataSource (YUI 2.6)。 XHRDataSource 连接到作为 servlet 的 XML 生成地址,我在其中通过 PrintWriter 将 XML 写入响应。
小服务程序:
String data = dataProvider.fetch(request.getPathInfo());
int cLen = data.length();
response.getWriter().append(data);
response.setContentLength(cLen);
response.setContentType("text/xml");
response.getWriter().flush();
javascript:
var url = "../data/SomeProvider";
this.myDataSource = new YAHOO.util.XHRDataSource(url);
this.myDataSource.responseType = YAHOO.util.DataSource.TYPE_XML;
this.myDataSource.connXhrMode = "queueRequests";
this.myDataSource.responseSchema = responseSchema;
this.myDataSource.maxCacheEntries = 0;
它在 FF3 中运行良好。我可以通过 Firebug 看到返回的 xml,看起来不错;表和连接到数据源的所有其他内容都可以正常渲染。
在 IE8 中,对于完整的数据集(390 行......不是那么大,真的)失败,并且数据表声称没有找到任何行。但是,如果我减小尺寸(比如 20-30 行),IE 可以正常工作。我一直在寻找高低,但我没有想法 - 知道我错过了什么吗?
编辑 附加信息。当 XML 响应超过 8192 字符标记时,失败是正确的。根据我的阅读,IE 在 URL 或参数字符串中限制为 8192 个字符 - 但为什么该限制适用于写入响应流本身的数据?还是 XMLHttpRequest 的处理方式不同?
【问题讨论】:
标签: internet-explorer-8 yui-datatable