0

我想从此链接中获得喜欢的计数

http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.apple.com

var xml = "http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.apple.com;"
var xmlDoc = $.parseXML(xml),
$xml = $(xmlDoc),
$title = $xml.find( "like_count" );
$('.countnumber').text($title.text());

但是,我收到了这个错误

未捕获的错误:无效的 XML: http ://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.apple.com ;

有没有办法通过javascript解析它?

谢谢

4

3 回答 3

2

在您的情况下xml,包含资源 url,而不是导致错误的 xml 字符串。您需要先读取 url 的内容然后解析它。

您需要阅读 URL 的内容

var xml = "http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.apple.com;"
$.get(xml).done(function(xml){
    var $xml = $(xml),
        $title = $xml.find( "like_count" );
    console.log($title.text())
})

演示:小提琴

于 2013-10-18T02:34:16.517 回答
1

如评论中所述,首先检索您的 xml。

$.ajax({
    url: "http://api.facebook.com/restserver.php?method=links.getStats&urls=http://www.apple.com;",
    dataType: "xml"
}).done(function(data) {
    var $xml = $(data),
        $title = $xml.find("like_count");
    $('.countnumber').text($title.text());
});
于 2013-10-18T02:35:35.583 回答
1

您需要一个代表您的 xml 的字符串,而不是资源的 URI。此外,parseXML甚至没有必要。

您需要使用 AJAX 来获取 XML:

    var xml = "http://api.facebook.com/restserver.php?       method=links.getStats&urls=http://www.apple.com;";

    $.get(xml, function(data){
      var xmlDoc = $(data);
      .. your code here
    });
于 2013-10-18T02:35:46.283 回答