javascript - facebook - 通过 ajax 点赞帖子

标签 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

最佳答案

使用 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() 调用的对象。

关于javascript - facebook - 通过 ajax 点赞帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5057315/

相关文章:

android - 从重定向的 URL 中检索位图

php - 获取我们数据库的 Facebook 个人资料图片

php - 由于哈希 user.php,GET 无法工作?#access_token=123

javascript - 使 Closure Compiler 将多个对象属性声明合并为一个大文字

javascript - 使用 Canvas 连接多个圆

android - 无法通过 Android 下载 Facebook 用户个人资料图片

javascript - 如何动态设置 Angular JS 页面的元标签以进行 Facebook 共享?

javascript - 将数组与其自身连接起来以复制它

javascript - 使用 JavaScript 设置输入值 - 取决于不同输入的值

Android:Facebook 登录不起作用