Столкнулся с проблемой. Mozilla Firefox обрезает ответа сервера до 3711 символов в каждой переменной ответа в php-части. Проверено на версиях 2.0 и 3.0.
Использую объект XMLHttpRequest. Ответ формируется в виде xml.
Вот так.
<response>
<book><? echo $aa;?></book>
<kok><? echo $bb;?></kok>
</response>
И каждая из $aa и $bb в js-части при выводе (innerHTML) не длиннее 3711 символов. В остальных браузерах не обрезает.
Подскажите в чем проблема.
Спустя 30 минут, 33 секунды (20.11.2009 - 03:18) kirik написал(а):
Вероятно глупый вопрос, а кодировка какая?
Спустя 2 часа, 2 минуты, 55 секунд (20.11.2009 - 05:21) sNICkerssss написал(а):
в начале файла php-части установлено:
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="windows-1251" standalone="yes"?>';
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="windows-1251" standalone="yes"?>';
Спустя 22 минуты, 21 секунда (20.11.2009 - 05:43) sNICkerssss написал(а):
Спустя 26 минут, 2 секунды (20.11.2009 - 06:09) kirik написал(а):
Файрбаг говорит что результат приходит полностью, а значит это проблема самого JS..
Если вместо myfunc(book); поставить myfunc(xmlHttp.responseText); то покажется тоже весь ответ, а значит проблема в парсинге XML яваскриптом...
UPD
да есть такая проблема, что ФФ поддерживает только 4096 символов для одной node..
UPD2
Для решения проблемы юзаем функцию:
И в коде меняем так:
Спасибо за проблему!
/* Ушел дорабатывать свой аякс-класс */
Если вместо myfunc(book); поставить myfunc(xmlHttp.responseText); то покажется тоже весь ответ, а значит проблема в парсинге XML яваскриптом...
UPD
да есть такая проблема, что ФФ поддерживает только 4096 символов для одной node..
UPD2
Для решения проблемы юзаем функцию:
/**
* Originally from http://www.coderholic.com/firefox-4k-xml-node-limit/
**/
function getNodeText(xmlNode)
{
if(!xmlNode)
return '';
if(typeof(xmlNode.textContent) != 'undefined')
return xmlNode.textContent;
return xmlNode.firstChild.nodeValue;
}
И в коде меняем так:
var book = getNodeText(xmlDocumentElement.getElementsByTagName('book')[0]);
Спасибо за проблему!

Спустя 6 часов, 19 минут, 26 секунд (20.11.2009 - 12:28) sNICkerssss написал(а):
Спасибо за ответ. Очень благодарен.