【问题标题】:XML parsing in jquery doesn't seem to work for mejquery 中的 XML 解析似乎对我不起作用
【发布时间】:2011-03-13 17:55:27
【问题描述】:

我有一个静态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>

当我通过萤火虫检查我发现这个时,警报似乎没有显示在页面中,

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

函数parseXml 似乎没有被调用...

【问题讨论】:

    标签: jquery xml parsing


    【解决方案1】:

    您无法使用 AJAX 访问远程域。见Same Origin Policy。您正在尝试访问位于google.com 的脚本,因此除非此页面托管在同一域上,否则它将无法正常工作。完成这项工作的唯一方法是在您的服务器上设置一个代理服务器脚本,您将向其发送 AJAX 调用,并将调用委托给google.com。另一种选择是使用JSONP,但远程脚本需要支持它。

    【讨论】:

    • 是的,可以使用充当代理的服务器端脚本或 JSONP(仅适用于 GET 请求)。
    猜你喜欢
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多