我想通过ajax从我的Facebook画布应用程序提交表单。 如果我在facebook外运行我的应用程序,它可以正常工作。但是,如果我将ajax调用作为Facebook画布应用程序运行,则用户将被重定向到ajax post url! 服务器响应有效json。
我花了一个多小时的时间。 我发现Facebook有一个deprecated FBJS ajax api。新的js api不提供任何ajax功能。上面列出的弃用API的文档说明:
如果您要在Facebook.com上构建新应用,请执行您的 应用程序使用HTML,JavaScript和CSS。
从画布应用程序制作ajax帖子的神奇方法是什么?
相关代码归结为:
$(function () {
$('form').submit(function () {
if ($(this).valid()) {
$.ajax({
url: this.action, // I tried also submitting to the apps.facebook.com/... url, but it made no difference
type: this.method,
data: $(this).serialize(),
success: function (result) {
$('#result').html(result);
alert('TESTING - WORKS!!');
}
});
}
return false;
});
});
答案 0 :(得分:1)
一夜的睡眠会让你觉得奇怪。昨天发布这个问题时已经很晚了。 当我今天早上醒来时,我知道要检查什么。我通过ajax发布的操作是在需要Facebook身份验证的控制器中...将操作移动到另一个控制器,它现在可以工作了。解决