Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Обход дерева html элементов на javascript

329
31 марта 2007 года
novadesign
144 / / 07.05.2003
При помощи ajax пытаюсь сформировать часть html страницы, а потом ее вывести при помощи javascript.

Если ajax возвращает просто текст, то проблемы нет, вывод делаю при помощи свойства data
xmlhttp.responseXML.getElementsByTagName('msg')[0].firstChild.data;

Но если возвращается html, то data пустая. Каким образом можно получить html текст, который был передан ajax?
2.1K
31 марта 2007 года
vectoroc
234 / / 25.07.2006
попробуй xmlhttp.responseText
329
31 марта 2007 года
novadesign
144 / / 07.05.2003
Неподходит, в таком случае будет полный текст возвращаемого результата. А результат может состоять из нескольких частей. К примеру <error>msg1</error><msg>msg2</msg>

Причем, что странно. Попытался вывести все свойства объекта

xmlhttp.responseXML.getElementsByTagName('error')[0]

при помощи
{

var result = \"All Properties: \\n\";
var j=0;
for ( var i in obj )
{
result += i + \"=\" + obj + \" \\n \";
}
alert(result);
}

в опере все работает, и получаю список свойств, а в IE получаю ошибку в строке "for ( var i in obj )" -"Object does not support this action"


Цитата: vectoroc
попробуй xmlhttp.responseText

2.1K
31 марта 2007 года
vectoroc
234 / / 25.07.2006
если возвращается невалидный XML то и responseXML работать по идее не будет. читай маны
12
03 апреля 2007 года
alekciy
3.0K / / 13.12.2005
Поддержу vectoroc, если возращаемый ответ не нужно парсить, то в настоящий момент самое разумное это полученные данные юзать через responseText, а в страницу ставить через innerHTML. В принципе можно даже парсить и responseText текстовыми функциями. Соотвествено, если используем responseXML, то нужно DOM функции использовать для парсинга.

Соственно именно поэтому лично я когда озадачился вопросом парсинга полученного XML, то захотел какого кроссбраузерного решения и затеялся вот с этим: Написал библиотеку для работы с XPath в JavaScript
12
03 апреля 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: vectoroc
если возвращается невалидный XML то и responseXML работать по идее не будет. читай маны


А где у него невалидный XML? Добавляем корневой элемент и <?xml ... ?> и валидный. Другое дело, что это невалидный HTML код и вот уже его ставить в страницу напрямую не получиться.

Вставить напрямую код через DOM (тем же методом export) не получиться даже если генерить валидный HTML код. Ибо он должен быть не только валидным (корректным), но и действительным. Ну и заголовки тоже засылать нужно.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог