Internet Explorer ничего не выводит при выполнении вызова jQuery AJAX .get - другие браузеры в порядке - PullRequest
1 голос
/ 21 октября 2010

Я надеюсь, что вы можете помочь мне с этим. Предполагается, что код отображает данные mysql с использованием php-скрипта, возвращающего XML (бэкэнд-скрипт отлично работает, предоставляя хороший XML - проверено в моем предыдущем вопросе о переполнении стека).

Я использую jQuery 1.4.2 для выполнения вызова .get AJAX - и я просто не могу заставить Internet Explorer отображать хоть немного. Chrome, Safari, Chromium, FireFox и Opera прекрасно работают здесь - интересно, что я сделал не так?

Я проверил проблему с IE и jQuery и нашел этот фрагмент кода, который может помочь, но он не работает:

function parseXml(xml)
{ 
    if (jQuery.browser.msie)
    {
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
        xmlDoc.loadXML(xml);
        xml = xmlDoc;
    }

    return xml;
}

Могу ли я что-нибудь сделать для отображения своих сообщений в Internet Explorer?

Я поместил «alert» в начале функции синтаксического анализа xml, но Internet Explorer так и не смог отобразить предупреждение. Другие браузеры делают. Кажется, он даже не выполняет

function(xml) { bazinga_getposts(xml); }

от jQuery .GET

Спасибо за любую идею! Версия IE 8

Вот полный код:

var ajax_content_left=$("#ajax_content_left");
var ajax_content_left_pagination=$('#ajax_content_left_pagination');

function parseXml(xml)
{   
    if (jQuery.browser.msie)
    {
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
        xmlDoc.loadXML(xml);
        xml = xmlDoc;
    }

    return xml;
}           

$.get("bazinga_blob/getposts.php",
    { 
        category:"1", 
        post_tags:"", 
        language:"pl", 
        author:"1", 
        posts_per_page:"2", 
        current_page:"1", 
        order:"desc", 
        hard_limit:"", 
        show_hidden:"1"     
    }, function(xml) { bazinga_getposts(xml); },'xml'); 

function bazinga_getposts(xml) 
{   
    alert('found it');

    thexml=$(xml);
    thexml=parseXml(thexml);

    var fill_this='';
    var fill_pagination='';
    var ile_stron=thexml.find('LastPage').text();

    thexml.find('Post').each(function()
        {
            fill_this+='<h1>'+thexml.find('PostTitle').text()+'</h1>';
            fill_this+='<article>'+thexml.find('PostBody').text()+'</article>';

        });

    for (i=1;i<=ile_stron;i++)
    {
        fill_pagination+='<li><a href="#'+i+'">'+i+'</a></li>';     
    }

    ajax_content_left.append(fill_this);
    ajax_content_left_pagination.append(fill_pagination);
}

Ответы [ 2 ]

2 голосов
/ 22 октября 2010

Обнаруженный!

Спасибо за помощь, я снова начал копать скрипт php и нашел здесь: http://articles.sitepoint.com/article/ajax-jquery/2 пропущенную строку: это была:

заголовок ("Cache-Control: no-cache");

, что было необходимо для начала отображения содержимого в Internet Explorer

Увидимся:)

0 голосов
/ 22 октября 2010

Возможно, возвращаемое содержимое является недействительным XML; посмотрите, работает ли он с простым текстом. Также попробуйте установить функцию обратного вызова с ошибкой. Если ничего не помогает, вы можете попробовать отладить его через Microsoft Script Editor .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...