AJAX xmlhttp.send()不起作用

时间:2016-07-12 18:44:53

标签: javascript php jquery html ajax

我是一个完整而彻底的AJAX菜鸟,并且在过去的5个小时内遇到了同样的问题。

我的脚本代码



<script language='javascript'>
function upvote(id ,username)
{   
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) 
        {
            
        }
    };
    xmlhttp.open("GET", "vote.php?id=" +id+"&username=" +username, true);
    xmlhttp.send();
}
</script>
&#13;
&#13;
&#13;

我的onclick链接,

&#13;
&#13;
<a href='javascript:void(0)' onclick='upvote($id,$username)'></a>
&#13;
&#13;
&#13;

$_GET用于检索通过页面URL发送的参数。例如

../vote.php?id=3&username=anor

当我尝试使用时,我的php文件非常完美。

我认为PHP无论如何都没有错。但是由于某种原因,xmlhttp.send(params)仍然没有将所需的变量发送到vote.php文件。我尝试发布AJAX请求,但它也没有工作。

2 个答案:

答案 0 :(得分:0)

编辑它们 如果是php文件     

$id = '1';
$username = 'suman';

echo '<a href="javascript:void(0)" onclick="upvote(\''$id'\',\''$username'\')"></a>';
?>

答案 1 :(得分:0)

如果这是PHP代码的一部分

onclick='upvote($id, $username)'

它不起作用。它应该是

onclick='upvote($id, "$username")'

代替。让我们看看您发布的示例:$ id = 3和$ username = anor。这将导致

onclick='upvote(3, anor)'

只要没有名称为anor的Javascript变量,这就相当于

onclick='upvote(3, undefined)'

你知道吗?

PS:upvote函数本身似乎很好