2011-11-11 108 views
0

因此,我正在製作一個類似於FML和其他網站的網站,人們可以在網站上發佈內容,其他人可以喜歡/不喜歡和評論。如何通過Javascript更新數據庫,然後重新加載

現在,我擁有它,當somoene點擊「like」時,它是一個調用「/ like /(post id)」的鏈接,它調用增加數據庫的函數,然後重新加載頁面。

我想找到一種方法來做到這一點,而不必這樣做。一位朋友說要嘗試Ajax或JavaScript,但我完全沒有受過教育。

有沒有人有任何指針?

+1

我會建議使用Ajax的PHP文件,但你需要看到一些這方面的教程... – ajax333221

+0

你也應該注意到,當使用PHP時,你可以通過url傳遞變量,所以你應該使用myPHPfile.php?action = like&postid =(post id ) – GAgnew

回答

0

我不想全面解釋AJAX請求,但這應該指向正確的方向。 而不是重新加載頁面,有/喜歡/返回喜歡的數量。 然後有一個可選元素的數量,像

<a id="postid" href="#" onclick="like(this);return false;" class="likebtn">Like</a> 
<span id="postid-likes">0</span> 

然後讓javascript函數

<script> 
function like(element) { 
    xmlhttp = new XMLHttpRequest(); 
    xmlhttp.onreadystatechange=function() { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
      document.getElementById(element.id+"-likes").innerHTML=xmlhttp.responseText; 
     } 
    } 
xmlhttp.open("GET","/like/"+element.id,true); 
xmlhttp.send(); 
} 
</script> 
+2

-1用於推薦內嵌JavaScript,並且您沒有發送任何數據或標識符作爲喜歡的項目。 – Raynos

+1

Raynos也許你的時間會花在寫正確的答案上會更好嗎? –

+0

這個函數可以放在你的一個javascript文件中,這是作爲如何提出請求的一個例子,而不是放置你的javascript代碼的地方。而「postid」是爲PHP創建的每個項目提供的唯一標識符。哦,是的,網址應該是/ like/postid然後。 –

相關問題