$ .ajax не будет работать в IE 8 - PullRequest
       7

$ .ajax не будет работать в IE 8

0 голосов
/ 27 декабря 2011

Я пытался заставить свою страницу работать в IE, но этот код не работает, он не выведет "Fooo!" в качестве параграфа, например, ничего не показано. Это, однако, делает это в FF без каких-либо взлетов;

 <script>
    $(document).ready(function(){                   
        $.ajax({
            type: "GET",
            url: "foo.xml",
            dataType: "xml",
            success: function(xml)              
            {
                var markup = "<p>Fooo!</p>"         
                $(markup).appendTo(".container");                                                           
            }
        });                                 
    });                     
</script>

Если я делаю распечатку без "$ .ajax", она работает в IE без проблем. Работает в IE;

 <script>
    $(document).ready(function(){                   
                var markup = "<p>Fooo!</p>"                                     
                $(markup).appendTo(".container");                               
    });                     
</script>

* Редактировать Теперь я уверен, что он не читает .xml, я добавил код;

error: function(r, s, e) 
{            
alert(s);             
alert(e);        
} 

В "$ .ajax" и разрешается в "parseerror" и "undefiend" в IE. Я пробовал использовать разные XML-файлы, которые, я уверен, сработают, например:

<?xml version="1.0" encoding="ISO-8859-1"?>
<fooo>
</fooo>

* Edit2 Я пытался загрузить xml из Интернета (http://www.w3schools.com/xml/note.xml), это привело к тому, что оно работало в IE, но не в FF (та же ошибка, что и в IE, parseerror и undefined)) *

Любое предложение, почему $ .ajax (xml-read) не работает?

Ответы [ 4 ]

1 голос
/ 27 декабря 2011

Измените функцию ошибки, чтобы увидеть, какая ошибка вызывает проблему:

error: function(r, s, e) {
            alert(s);
            alert(r);
       }

РЕДАКТИРОВАТЬ:

Возможно, попробуйте добавить «тип контента»:

...
dataType: "xml",
contentType: "application/xml; charset=ISO-8859-1",
...
0 голосов
/ 28 декабря 2011

Я наконец заставил его работать после того, как нашел и прочитал это; http://docs.jquery.com/Specifying_the_Data_Type_for_AJAX_Requests

Так что для IE вход должен быть проанализирован.

Окончательный код выглядит так:

        $.ajax({
            url: "fooo.xml",
            dataType: ($.browser.msie) ? "text" : "xml",                            success: function(data)                 
            {

                var xml;
                if (typeof data == "string") 
                {
                    xml = new ActiveXObject("Microsoft.XMLDOM");
                    xml.async = false;
                    xml.loadXML(data);
                } 
                else 
                {
                   xml = data;
                }

Спасибо за вашу помощь, очень признателен! :)

0 голосов
/ 27 декабря 2011

Решает ли это вашу проблему?http://bugs.jquery.com/ticket/5273

Также пытался загрузить XML с другой страницы в Интернете?

0 голосов
/ 27 декабря 2011

попробуйте изменить <script>

на

<script type="text/javascript">

также:

 success: function(xml)              
            {
                var markup = "<p>Fooo!</p>"         
                $(markup).appendTo(".container:first");// I dont know how many you have...                                                           
             }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...