У меня есть DataTable и DataSource (YUI 2.6). XHRDataSource подключается к адресу, производящему XML, который является сервлетом, где я пишу XML из ответа через PrintWriter.YUI Datatable failing in IE для больших наборов данных
Servlet:
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 работает нормально. Я искал высоко и низко, но у меня нет идей - подскажите, что мне не хватает?
EDIT Дополнительная информация. Сбой правилен, когда XML-ответ пересекает знак 8192. Из того, что я прочитал, IE имеет ограничение в 8192 символа в URL-адресе или строке параметров, но почему это ограничение применяется к данным, записанным в поток ответов? Или обрабатывать XMLHttpRequests по-разному?
Интересные (+1) –