在AJAX调用Facebook开放图形对象之后使用jQuery提交表单
问题描述:
我创建了Facebook Open Graph对象和动作。它工作得很好,并且经过了充分测试。问题是我想在数据返回时提交不同的表单。在AJAX调用Facebook开放图形对象之后使用jQuery提交表单
只要是明确的,有两个按钮,用户可以在:
- 通过点击“发布”发布项目按钮,提交的“与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上的项目没有问题。奇怪的是,当我测试相同的代码(jQuery AJAX后)与我的应用程序中的另一个URL它实际上工作并提交表单,但与此特定的代码,它不起作用。
我研究过其他解决方案,例如将$form
更改为form
甚至form[0]
,但仍然没有运气。
答
整体解决方案涉及将成功更改为回调条款为总是。
$(".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"
看起来像coffeescript ??? – adeneo 2013-03-14 21:04:20
是的,你说得对,也许我应该在这个问题上放一个咖啡标签。 -抱歉。 – Dol 2013-03-14 21:07:05