facebook - 喜欢ajax的帖子

时间:2011-02-20 13:30:30

标签: javascript facebook facebook-graph-api facebook-javascript-sdk

我正在创建一个Facebook墙(流)看起来像是放在我的网站上。 该组件将读取特定页面墙上的所有帖子,并通过图形api显示它们。 我还希望用户能够像“墙上”那样显示帖子。

到目前为止我所使用的是一个脚本,它使用图形api来获取帖子的JSON列表,我还有一个PHP文件,可以像在post_id查询字符串参数中提交ID的帖子一样,这个确实有效。我看到LIKE已提交。

要调用此PHP文件,我使用jQuery ajax:

 function do_likes(post_id) {
    $.ajax({
        type: "POST",
        url:"http://www.p-art.co.il/facebook_test/action.php?post_id=" + post_id
    });

Firebug没有显示任何错误,但另一方面,LIKE未发布。 我一直在寻找几个小时,但我找不到正确的方法来调用PHP文件,以便FB.api调用工作。

提前谢谢你。 -Elad

2 个答案:

答案 0 :(得分:0)

使用HTTP POST,数据通常从表单输入发送, enctype 设置为application/x-www-form-urlencoded格式。因此,对于AJAX POST,我们通常也会以这种格式发送数据,而不是查询字符串参数,这是通常使用HTTP GET请求发送数据的方式以及如何发送上述数据。

如果您将代码更改为

 function do_likes(post_id) {
    $.ajax({
        type: "POST",
        url:"http://www.p-art.co.il/facebook_test/action.php",
        data : { post_id : post_id }
    });
 }

它应该按预期工作(我不熟悉PHP,但我假设您发布的URL需要application/x-www-form-urlencoded格式的数据)。使用jQuery.ajax(),如果您将数据对象设置为要发送到服务器的键/值对,jQuery将根据您的HTTP请求类型为您提供正确的enctype正在使用(如果需要,您可以覆盖enctype,但通常这不是必需的,默认情况将是您在大多数情况下所需的内容。)

此外,您可能希望在AJAX帖子成功完成后设置要调用的回调函数。为此,请将success属性添加到传递给$.ajax()调用的对象。

答案 1 :(得分:0)

很难说没有看到你的action.php文件的源代码,但我猜它没有正确获取用户访问令牌,因为它是通过AJAX调用的。

如果您可以在某个地方发布您的action.php来源,我应该可以提供更多帮助