Синтаксический анализ XML в jquery, похоже, не работает для меня - PullRequest
0 голосов
/ 09 июля 2010

У меня есть статическая HTML-страница weather.html

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $.ajax({
                type: "GET",
                url: "http://www.google.com/ig/api?weather=Delhi",
                dataType: "xml",
                success: parseXml
            });
        });
        function parseXml(xml) {
           $(xml).find("weather").each(function() {
            alert($(this).attr("temp_c"));
            });
       }
    </script>
</head>
<body>

</body>
</html>

Похоже, предупреждение не отображается на странице, когда я проверил через Firebug, я нашел это,

XML Parsing Error: no element found Location: moz-nullprincipal:{08ba4230-2feb-48d3-969e-b53579b07b52} Line Number 1, Column 1:
^

также функция parseXml не вызывается ...

1 Ответ

2 голосов
/ 09 июля 2010

Вы не можете получить доступ к удаленным доменам, используя AJAX.См. Одинаковая политика происхождения .Вы пытаетесь получить доступ к сценарию, расположенному в google.com, поэтому, если эта страница не размещена в этом же домене, она не будет работать.Единственный способ выполнить эту работу - установить на своем сервере сценарий прокси-сервера, на который вы будете отправлять вызов AJAX, и он будет делегировать вызов google.com.Другой альтернативой является использование JSONP , но удаленный скрипт должен поддерживать его.

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