2012-12-17 47 views
0

我正在使用FB.ui.我需要編寫回調函數。當用戶在我的應用程序中共享圖像時,這個回調函數應該由ajax調用觸發。當它在fb上共享時,我需要獲得它已經與$(this).attr('data-id')傳遞的id。fb.ui回調函數與jquery ajax

$('.sharepicture').click(function() { 
    //alert($(this).attr('data-id')); 
    var obj = { 
      method: 'feed', 
      link: TAB_URL + '?app_data=p,' + $(this).attr('data-id'), 
      picture: ABSOLUTE_URL + '/images/app.jpg', 
      name: 'myapplication.', 
      description: 'I\'ve just created a image from collection of pictures in my application . To see my image click on the link above' 
     }; 

     FB.ui(obj); 
}); 

任何人都可以請告訴我怎麼寫這個回調函數。我試過這樣的東西,但它不工作..

$('.sharepostcard').click(function() { 
     //alert($(this).attr('data-id')); 

      var obj = { 
     method: 'feed', 
     link: TAB_URL + '?app_data=p,' + $(this).attr('data-id'), 
     picture: ABSOLUTE_URL + '/images/app.jpg', 
     name: 'myapplication.', 
     description: 'I\'ve just created a image from collection of pictures in my application . To see my image click on the link above' 
    }; 

    FB.ui(obj); 
      $.ajax({ 
       type: "POST", 
       url: "http://www.facebook.com/fbml/ajax/dialog/feed", 
       success: function(data, textStatus, jqXHR) { 
         alert(data); 
        } 

      }); 

     }); 

對不起,如果類似的帖子已經存在這裏。我確實在尋找它,但我找不到辦法。

回答

0

FB.ui()允許一個回調函數作爲第二個參數:

FB.ui(obj, function(response) { 
       if(typeof reponse == 'object' && typeof response['post_id'] != 'undefined') { 
        msg = 'Message send.'; 
       } else { 
        msg = 'Failed to send message.';  
       }  
      } 
     ); 
+0

可以此代碼被用作'&& typeof運算響應[ '到'] = '3')'!? – iamchriswick

+1

typeof變量將檢索標識數據類型的字符串,例如「函數」,「對象」,「未定義」,「字符串」等。 因此,在每種情況下,typeof ...!='3'將是真實的,因爲它們不是類型'3'。 – dk1