[英]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.