【问题标题】:Facebook Page JSON Feed failing with jQueryFacebook Page JSON Feed 使用 jQuery 失败
【发布时间】:2011-12-09 22:18:18
【问题描述】:

我想在不使用图形 api 或服务器端代码的情况下从公共 facebook 墙上提取提要。在我的示例中,我使用 jQuery 和标有“通过 RSS 获取更新”的链接中的 url,该链接是耐克的粉丝页面。但是,第一个“:”出现未捕获的语法错误。这让我想知道 jsonp 是否甚至被 facebook 支持。这是中断的代码。

http://jsfiddle.net/9PQqa/

jQuery.ajax({
url: "http://www.facebook.com/feeds/page.php?id=15087023444&format=json&callback=?",
dataType: "json",
success: function(data){
    document.write('success');
    document.write(data.toSource());
},
error: function(){
    document.write('error');
}

});

我是很多 ajaxy 方面的新手,所以欢迎任何帮助。

【问题讨论】:

  • 你有解决方案吗?

标签: jquery facebook json jsonp


【解决方案1】:

该 url 以 text/javascript 返回 - 有关详细信息,请参阅 jquery ajax request works only in firefox

我还使用更灵活的解决方案更新了该答案:使用 jsonp

jQuery.ajax({
  url: "https://graph.facebook.com/15087023444/feed",
  dataType: "jsonp",
  type: 'get',
  success: function(data){
    console.log( 'success' );
    console.dir( data );
  },
  error: function(){
    console.log( 'error!' );
  }
});

【讨论】:

  • 我的请求返回 Content-type:application/json,所以我不确定我是否遵循。我同意那里可能有一些奇怪的字符(即制表符和换行符)会导致语法错误,但是您链接到的示例似乎并没有为我解决这个问题。我要么遇到跨域问题,要么遇到相同的语法错误。另外,为什么你在查询字符串中省略了“format=json”?
  • 通过切换到jsonp,您可以避免跨域问题以及不解析为json而是通过jsonp回调创建对象,因此,不告诉facebook格式化为json。
猜你喜欢
  • 1970-01-01
  • 2015-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-01
  • 2011-01-26
  • 1970-01-01
相关资源
最近更新 更多