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功能???
答案 0 :(得分:3)
三个错误:
多个GET参数的正确表示法是将它们分隔为&
,或者如果在HTML源代码中使用,则将它们分隔为正确的HTML实体&
"voting.php?qid="+qid+"&uid="+uid+"&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);