3

我正在尝试在我的网站客户端使用 jQuery 加载 facebook 墙提要。我用于 facebook 请求的提要是:

http://www.facebook.com/feeds/page.php?format=json&id=40796308305

我尝试了以下方法:

1.

$.getJSON('http://www.facebook.com/feeds/page.php?format=json&id=40796308305',function(data){
   console.log(data)

});

返回错误:

XMLHttpRequest 无法加载http://www.facebook.com/feeds/page.php?format=json&id=40796308305。Access-Control-Allow-Origin 不允许来源http://xxxx.local 。

2.

$.ajax({
    url: 'http://www.facebook.com/feeds/page.php',
    type: 'GET',
    dataType: 'json',
    data: {
        id: '40796308305',
        format: 'json'
    },
    success: function(data, textStatus, xhr) {
        console.log(data);
    }
});

返回相同的错误。

3.

$.ajax({
    url: 'http://www.facebook.com/feeds/page.php',
    type: 'GET',
    dataType: 'json',
    data: {
        id: '40796308305',
        format: 'jsonp'
    },
    success: function(data, textStatus, xhr) {
        console.log(data);
    }

});

回报:

Uncaught SyntaxError: Unexpected token :

并且似乎正在解析提要。

如何加载 facebook json 提要,以便我可以像访问数组一样访问它?

4

3 回答 3

1

由于跨域策略限制,您不能仅对客户端执行此操作。

您可能需要为该数据创建自己的代理(此页面数据端点不支持 JSONP 并且不能与callback参数一起使用)

于 2012-06-07T09:53:10.393 回答
0

将数据类型从 更改jsonjsonp,因为它是跨域调用

于 2012-06-07T09:50:54.620 回答
0

我看到这个线程已经快 6 个月了,所以希望还不算太晚。

function fbInfo(user, id) {
    var jurl = "https://graph.facebook.com/"+user+"&callback=?";
    console.log(jurl);
    $.getJSON(jurl, function(data) {
           //do stuff
});
}

我在我的 html 页面中调用该函数并将 facebook 页面的用户名(“用户”)传递给 url 变量“jurl”

使用 $.getJSON 方法,然后随意操作数据。

这绝对有效,因为我目前正在使用它将业务信息从 Facebook 页面提取到我的网站。

于 2012-11-13T18:50:49.150 回答