好吧,这么基本,这里是我的代码片段,基本上它应该更新我的表“评论”在“喜欢”列。尝试提交结果时,我的问题出在javascript中。
SPAN,其中包含要提交的链接:
<span id="like<?=$i?>"><a href="javascript:void()" onClick="likeComment(<?=$row[commentid]?>, <?=$i?>)" />Like</a> (<?=$row[like]?>)</span>
基本上是commentid是实际的评论ID,而$ i是评论#(因此,当我提交+ Like时,它会实际更新正确的SPAN标记。
之后,我将我的AJAX发布到我的PHP文件中:
<script type="text/javascript">
function likeComment(id, no)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("like"+no).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","like_game.php?id="+id"&no="+no,true);
xmlhttp.send();
}
</script>
基本上它应该提交注释ID和注释SPAN ID,那么我的PHP文件将返回
<span id="like<?=$number?>"><font color="#009900">You like this</font> (<?=$row[like] + 1?>)</span>
(我没有包含PHP,我的问题在那里没有被激发。
我不知道问题是什么,但它无法正常工作。当我只使用一个ID执行此操作时,它确实有效,因此在我看来,
存在问题 xmlhttp.open("GET","like_game.php?id="+id"&no="+no,true);
或
document.getElementById("like"+no).innerHTML=xmlhttp.responseText;
所以基本上它应该提交注释ID 60,例如,它位于SPAN ID'd 5中,因此当它提交它时,应该返回正确的ID。
感谢任何帮助,因为我在这里一无所知。
答案 0 :(得分:5)
xmlhttp.open("GET","like_game.php?id="+id"&no="+no,true);
应该是:
xmlhttp.open("GET","like_game.php?id="+id +"&no="+no,true);
我想你在上面一行中遗漏了一个“+”:)