[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ajax длина ответа сервера
sNICkerssss
Всем привет.
Столкнулся с проблемой. 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"?>';

Спустя 22 минуты, 21 секунда (20.11.2009 - 05:43) sNICkerssss написал(а):
попробовал поставить вместо windows-1251 другие - безрезультатно.

Вот линк на простой пример ajax

Спустя 26 минут, 2 секунды (20.11.2009 - 06:09) kirik написал(а):
Файрбаг говорит что результат приходит полностью, а значит это проблема самого JS..

Если вместо 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]);


Спасибо за проблему! smile.gif /* Ушел дорабатывать свой аякс-класс */

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

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.