【问题标题】:Loading facebook wall feed JSON issues加载 facebook wall feed JSON 问题
【发布时间】:2012-06-07 09:40:09
【问题描述】:

我正在尝试在我的网站客户端使用 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 提要,以便可以像访问数组一样访问它?

【问题讨论】:

  • 获得 JSON 后,您就可以将其作为数组访问。
  • 我的问题是我在使用上述方法检索 JSON 时遇到错误。
  • 您是否尝试过将整个 URL 放入方法 3 中?也就是说,没有额外的属性?
  • 2 和 3 完全相同相同(空格除外),不确定这是故意的...
  • 我的错,同一个复制了两次。其中之一应该是使用 jsonp 数据类型。

标签: javascript facebook json jquery


【解决方案1】:

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

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

【讨论】:

  • 在这种情况下,我将在 php 中执行 JSON 请求并使用 AJAX 加载该页面。谢谢!
【解决方案2】:

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

【讨论】:

  • 这给了我与#3 相同的结果。即:Uncaught SyntaxError: Unexpected token :
【解决方案3】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    相关资源
    最近更新 更多