2012-11-30 32 views
0

我正在寫一個Facebook畫布應用程序,需要在用戶向朋友發送應用程序請求後進行一些AJAX調用。但是,每次我加載一個JavaScript庫來幫助AJAX調用時,它都會導致Facebook Javascript SDK停止工作。如何使用JavaScript庫在Facebook Canvas應用程序中進行AJAX調用?

我按照Facebook文檔中的說明正在加載JavaScript SDK。

當用戶點擊一個按鈕,可向好友請求時,它調用這樣的功能:

function sendrequest() { 
    FB.ui({method: 'apprequests', 
     message: 'Play this game!', 
     max_recipients: 1, 
    }, 
    function(response) { 
     var to = response.to; 
     var requestid = response.request; 
     //here I want to send these to a PHP page 
     //via AJAX for processing 
    }); 
} 

我開始用jQuery <head></head>,但突然FB.ui功能發送應用程序請求之間裝停止工作。控制檯說sendrequest()函數是未定義的。

Another question on StackOverflow建議使用PHPLiveX,這是爲那些問過這個問題的人工作的。但是,加載這個JavaScript創建完全相同的問題。如果頁面加載除JavaScript JavaScript SDK以外的任何JavaScript庫,則SDK停止工作。

有什麼想法可能會導致此?我意識到我可以使用XMLHttpRequest,但我希望使用庫來節省大量AJAX調用的時間。

+0

這不是讓SDK停止工作的庫。我在很多Facebook應用中使用jQuery ... – ahren

+0

當我沒有加載它時,SDK工作。當我做的唯一更改是加載jQuery時,SDK不起作用。任何可能的輸入? –

+1

你在哪裏加載它?你的頁面中的腳本的順序是什麼? – ahren

回答

1

我發現我的問題。我包括jQuery的鍵入從頭開始的代碼,並暫時忘記了script tags cannot be self-closing

<script src="jquery.min.js" /> 

沒有工作。但是

<script src="jquery.min.js"></script> 

工作正常。

相關問題