2012-01-05 129 views
0

我想通過ajax從我的Facebook畫布應用程序提交表單。 如果我在Facebook之外運行我的應用程序,它工作正常。但是,如果我將ajax調用作爲Facebook畫布應用運行,則用戶將被重定向到ajax發佈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; 
    }); 
}); 

回答

1

一個晚上的睡眠沒有奇蹟你的頭腦。昨天我發佈這個問題時已經很晚了。 當我今天早上醒來時,我知道要檢查什麼。我通過ajax發佈的動作是在需要Facebook身份驗證的控制器中...將動作移至不同的控制器,現在它可以工作。解決

相關問題