0

我创建了一个 Facebook Open Graph 对象和操作。它工作得很好,并且已经过全面测试。问题是我想在返回数据时提交不同的表单。

为了清楚起见,用户可以使用两个按钮:

  1. 通过单击提交表单的“发布”按钮发布项目或
  2. 单击“使用 Facebook 发布”,它将打开图形对象请求发送到 Facebook,然后在返回时从另一个按钮提交相同的发布表单。

这是代码:

$(".publish_with_fb_action").click ->
$form = $("form.publish_item")
$.post "https://graph.facebook.com/me/my_app_name:add?item=" + app.showUrl + "&access_token=" + FB.getAccessToken(), (data) ->
$form.submit()

同样,此代码将项目放在 Facebook 上没有问题。奇怪的是,当我在我的应用程序中使用另一个 URL 测试相同的代码(jQuery AJAX 帖子)时,它实际上可以工作并提交表单,但是对于这个特定的代码,它不起作用。

我研究了其他解决方案,例如更改$form为 justform或 even form[0],但仍然没有运气。

4

1 回答 1

0

整体解决方案涉及将成功回调子句更改为always

$(".publish_with_fb_action").click ->
  $this = $(this)
  $form = $(".publish_item")
  $.post( "https://graph.facebook.com/me/<my_app>:add?item=" + app.showUrl + "&access_token=" + FB.getAccessToken()
  ).always (data) ->
    $form.submit()
    $this.html "added to facebook"
于 2013-03-18T22:26:55.703 回答