2011-11-11 69 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然后。 –

相关问题