簡體   English   中英

facebook-通過ajax喜歡帖子

[英]facebook - LIKE a post via ajax

我正在創建一個看起來很像的Facebook牆(流)以放置在我的網站上。 該組件將通過圖形api從特定頁面的牆上讀取所有帖子並顯示它們。 我還希望用戶能夠喜歡顯示在“牆”上的帖子。

到目前為止,我所擁有的是一個腳本,該腳本使用圖形api獲取帖子的JSON列表,並且我還有一個PHP文件,可以像post_id查詢字符串參數中提交ID的帖子一樣工作。 我看到喜歡提交。

要調用此PHP文件,我使用jQuery ajax:

 function do_likes(post_id) {
    $.ajax({
        type: "POST",
        url:"http://www.p-art.co.il/facebook_test/action.php?post_id=" + post_id
    });

Firebug沒有顯示任何錯誤,但另一方面,沒有發布LIKE。 我已經搜索了幾個小時,但是為了使FB.api調用正常工作,我找不到正確的調用PHP文件的方法。

先感謝您。 -埃德

使用HTTP POST時,通常會從Enctype設置為application/x-www-form-urlencoded格式的表單輸入中發送數據。 因此,對於AJAX POST,我們通常也會以這種格式發送數據,而不是作為查詢字符串參數發送數據,這通常是通過HTTP GET請求發送數據的方式以及上面的數據發送方式。

如果您將代碼更改為

 function do_likes(post_id) {
    $.ajax({
        type: "POST",
        url:"http://www.p-art.co.il/facebook_test/action.php",
        data : { post_id : post_id }
    });
 }

它應該可以按預期工作(我不熟悉PHP,但我假設您要發布的URL期望以application/x-www-form-urlencoded格式的數據)。 使用jQuery.ajax() ,如果將數據對象設置為要發送到服務器的鍵/值對,則jQuery將根據您使用的HTTP請求類型為您提供正確的enctype (可以在必要時覆蓋enctype ,但是通常這不是必需的,默認情況下將是大多數情況下的默認值)。

另外,您可能希望設置在AJAX發布成功完成后要調用的回調函數。 為此,向傳遞給$.ajax()調用的對象添加success屬性。

沒有看到您的action.php文件的源代碼很難說,但是我猜測由於它是通過AJAX調用的,因此無法使用戶正確訪問令牌。

如果您可以將action.php源代碼發布到某個地方,我應該可以提供更多幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM