Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не работает jquery метод html() при парсинге xml, не работает jquery метод html() 
V
    Опции темы
egoriy
Дата 7.5.2013, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.3.2008

Репутация: нет
Всего: нет



Доброго времени суток!
Задача такая: за один аякс запрос обновить содержимое двух блоков(ячейки таблицы и строки) хтмл кодом
т.е. ответ сервера должен содержать два поля с новым содержимым блоков.
После нескольких неудачных попыток завернуть хтмл код в json
решил передавать его в формате xml
xml при этом будет такой:

        print '<?xml version="1.0" encoding="utf-8"?>';
    print "<data>";
        print "<out_str>".$out_str."</out_str>";
    print "<answer>".$answer."</answer>";
    print "<row_color>".$row_color."</row_color>";
        print "</data>";
        die();

И в фаерфоксе все работало!
Но тут выяснилось, что в гугл хроме не работает такой код:
success: function (xml) {
                var answer = $(xml).find('answer').html();
                var out = $(xml).find('out_str').html();
}
 
причем если заменить html() текст text()
var out = $(xml).find('out_str').text();
то и в хроме работает,
но мне не подходит text(), т.к. он вырезает все хтмл тэги
может кто-нибудь подскажет аналог методу текст(), чтобы отдавал не тест, а хтмл код?
или какое-нибудь другое решение?
Буду рад любой помощи.



PM MAIL   Вверх
Egik2
Дата 8.5.2013, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 302
Регистрация: 29.7.2008
Где: Агудзера

Репутация: нет
Всего: 11



Добрый день.

Попробуйте такую функцию:

Код

function XMLtoString(xmlDocument, tagname) {
    var xmlStringWithTag;
    if (jQuery.browser.msie){
           xmlStringWithTag = xmlDocument.getElementsByTagName(tagname)[0].xml;
    } else {
      xmlStringWithTag = (new XMLSerializer()).serializeToString(xmlDocument.getElementsByTagName(tagname)[0]);
    }
    return xmlStringWithTag.replace(/<[^>]+>(.*)<\/[^>]+>/, "$1");
}


где xmlDocument это уже XML DOM документ
tagname - название тэга содержимое которого надо получить.

Только не тестил работу в IE, оставлю это на Вашей совести )



--------------------
Три великие добродетели программиста: лень, нетерпение и самомнение (Larry Wall)
a-nav.com
developer-blog.ru
world-poetry.org
PM MAIL WWW ICQ   Вверх
egoriy
Дата 8.5.2013, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.3.2008

Репутация: нет
Всего: нет



Огромное спасибо!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0621 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.