2010-10-04 3 views
0

Использование AJAX для извлечения данных из динамически генерируемого XML с использованием .NET. Использование простого jQuery Ajax:.NET Dynamic XML отлично читается во всех браузерах, кроме IE

$.ajax({ 
type: "GET", 
url: "/test/dynamic.aspx", 
success: function(xml) { 

    var itemTitleSrc = $(xml).find('ItemName').text(); 
    alert(itemTitleSrc); 

} 

});

В Firefox, Chrome, Safari, предупреждение возвращает все строки, связанные с узлом, с которым я говорю, чтобы найти его. В IE окно предупреждения появляется пустым. Если я отключу динамический url и изменим его на статический XML и ищут узел, оба браузера возвращаются с той же информацией.

Вопрос в том, могут ли быть какие-то разрешения для динамического XML, которые выполняет IE, и отказываются возвращать требуемую информацию.

На другой быстрой ноте, если создать оповещение для самих данных, например, так:

alert(xml); 

Оба браузеры, возвращают те же данные. Кажется, что IE отказывается передавать информацию либо из динамически созданного XML, либо/или только при поиске определенного узла.

Кто-нибудь имеет идеи?

ответ

0

Прежде всего, попробуйте повторить тест с дополнительным параметром cache: false от jQuery.ajax.

Было бы также интересно изменить функцию success на function(xml, textStatus, xhr) и показать xhr.responseText с alert(xhr.responseText). Параметр dataType:"xml" также может быть полезен в зависимости от того, задан ли тип содержимого в ответе сервера.

ОБНОВЛЕНО: Если вы получили XML-данные в IE и можете загружать только XML-данные, вы должны следовать the recommendation from the jQuery Documentation. Вы должны проверить, является ли текущий браузер IE. Для IE вы должны загрузить данные в виде текста: dataType: "text", а затем внутри обработчика success преобразовать текст xml в объект ActiveXObject("Microsoft.XMLDOM").

+0

Спасибо за ответ. Я попытался установить кеш в false, но это ничего не делало. – Jim

+0

Кроме того, переписала функцию и запустила оповещение, получила разметку xml как в FF, так и в IE, как это было раньше, при запуске alert (xml). Как ни странно, не повезло. – Jim

+0

@ Jim: Я обновил свой ответ. Я надеюсь, что если вы будете следовать рекомендациям, ваш код будет работать. – Oleg

Смежные вопросы