jquery如何从API xml获取数据

时间:2010-11-29 12:52:09

标签: jquery xml ajax api

我需要从返回xml格式的API获取数据。这是api url:http://api.tubeupdates.com/?method=get.status&lines=all&format=xml

这是我的jquery代码:

$(document).ready(function(){
                $.get('http://api.tubeupdates.com/?method=get.status&lines=all&format=xml', function(d){

                    $(d).find('line').each(function(){
                        var $line = $(this).find('name').text()
                        var $mex = $(this).find('message').text()
                        $('#status').append($line+'<br>'+$mex+'<br><br>');
                    });
                });
            });

div #status返回空。我的jquery代码似乎很好,因为它有一个物理的xml文件。我做错了什么?

提前致谢,

莫罗

2 个答案:

答案 0 :(得分:2)

您无法像这样获取XML跨域,如果服务器支持,则必须使用JSONP。 XML必须通过XMLHttpRequest获取...这被same origin policy阻止。

不幸的是,它不像那样该网站支持JSONP,但它确实支持常规JSON:http://api.tubeupdates.com/?method=get.status&lines=all&format=json

答案 1 :(得分:0)

从此变量行中删除$并添加:

var line = $(this).find('name').text();
var mes  = $(this).find('message').text();
$('#status').append(line + '<br/>' + mes + <br/>);