PHP Ajax中的数据更新期间出现问题

时间:2010-08-08 11:18:09

标签: php ajax

ajax代码 -

...  
xmlhttp.open("GET","voting.php?qid="+qid+", uid="+uid+", type="+type,true);
...

这是发送三个参数的正确方法吗?

HTML -

<td ><img src="images/up.jpeg" style="border:none;" title="Like" onclick="doVote($q_id,$_SESSION['UserId'],up)"></td>

当我点击这个图像时,ajax脚本无法正常工作。我应该在哪里点击onclick功能???

2 个答案:

答案 0 :(得分:3)

三个错误:

  • 多个GET参数的正确表示法是将它们分隔为&,或者如果在HTML源代码中使用,则将它们分隔为正确的HTML实体&amp;

    "voting.php?qid="+qid+"&amp;uid="+uid+"&amp;type="+type
    
  • 要输出PHP变量,需要将它们包装在PHP标记周围:

    "doVote('<?php echo $q_id; ?>','<?php echo $_SESSION['UserId']; ?>',up)"
    
  • doVote()的第三个参数,“up”,如果它是一个字符串,则需要用引号括起来:

     ..., 'up');
    

除此之外,onclick事件应该触发。检查错误控制台是否有任何错误。

答案 1 :(得分:0)

字符分隔参数通常为&(尽管您可以添加/更改php将通过arg_separator.input识别为分隔符的字符)。 您还应该确保参数被正确编码,例如通过escape()

xmlhttp.open("GET","voting.php?qid="+escape(qid)+"&uid="+escape(uid)+"&type="+escape(type),true);