通过Jquery中的URL加载和解析XML

时间:2011-04-08 14:48:21

标签: jquery xml parsing

<script src="jquery-1.5.2.min.js" type="text/javascript">
        $(document).ready(function(){
            $.ajax({
                type: "GET",
                url: "http://rama.inescporto.pt/app/api/",
                data: "method=getGraph&artist=Coldplay&ri=3&p=3&d=0.5",
                dataType: "xml",
                success: xmlParser
            });
        });

        function xmlParser(xml) {

            $('#load').fadeOut();

            $(xml).find('element').each(function(){

                $(".main").append('<div class="artist"><p class="id">' + $(this).find('id').text() + '</p><p class="name">' + $(this).find("name").text() + '</p><p class="rank">Published ' + $(this).find("rank").text() + '</p></div>');
                $(".artist").fadeIn(1000);

            });
        }
    </script>
</head>
<body>
    <div class="main">
        <div align="center" class="loader"><img src="images/loading-spiral.gif" id="load" align="absmiddle"/></div>
    </div>

我认为我一切都正确,但请求没有发生,成功函数没有启动。有人可以看到我在哪里弄错了?

2 个答案:

答案 0 :(得分:1)

您无法使用AJAX向其他域发送请求。

答案 1 :(得分:0)

由于SOP浏览器拒绝了该请求。您只能在同一主机(IP地址和端口)上使用AJAX,并且可以使用与原始页面相同的协议。

编辑: 如果您的页面在此处:http://rama.inescporto.pt/请确保您正在为要通过AJAX获取的页面编写正确的相对路径:/app/api

另外,尝试在浏览器中打开http://rama.inescporto.pt/app/api/。那你得到XML吗?