简单的jquery post变量发送

时间:2014-12-23 02:12:21

标签: php jquery variables post

我对这部分代码有一些问题:

<script>
function komenty(photoid) {
    var xmlhttp=new window.XMLHttpRequest();
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            var x = xmlhttp.responseText;
            $.post('main.php', {x: "foo"});
        }
    }
    xmlhttp.open("GET", "comments.php?id=" + photoid, true);
    xmlhttp.send();
}
</script>

我正在尝试将此变量发送到我的php脚本,该页面是main.php responseText不为空,其中有很少的字符串。 但在我的PHP脚本中,它表示&#34;变量x未定义&#34;

<?php
echo "<a href='#' class='my-button' onclick='komenty(".$photoid.")'>komentarze</a>";
$x = $_POST['x'];
echo $x;
?>

我不确定我是否清楚地了解jquery手册

1 个答案:

答案 0 :(得分:1)

您应该为AJAX调用使用不同的脚本,而不是显示主页面。或者main.php脚本需要检查是否使用GETPOST来调用它。

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // Respond to AJAX call
    $x = $_POST['x'];
    echo $x;
} else {
    // Display normal HTML
    echo "<a href='#' class='my-button' onclick='komenty(".$photoid.")'>komentarze</a>";
}