PHP无法从JS获得$ _POST

时间:2017-05-24 12:07:19

标签: javascript php html ajax

我创建了一个HTML页面,并尝试通过JS使用AJAX从PHP页面回显:

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>User Retrieval</title>
    <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>
    <script>
function getid(){
    var userid = document.getElementById('userid').value;
    $.post('Users2.php', {postname:userid},
    function(data){$('#results').html(data);});
    };
    </script>
</head>
<body>
    <h1>User Retrieval</h1>
    <p>Please enter a user ID:</p>
    <input type="text" id="userid" placeholder="Please insert user ID" onkeyup="getid()" />
    <div id="results"></div>
</body>
</html>

我已经测试了JS并且看到userid确实从HTML中获取了信息。

然后我编写了以下PHP:

<?php
if (isset ($_POST['postname'])) {
    $name = $_POST['postname'];
    echo name;
}
else
{
    echo "There is a problem with the user id.";
}

?>

但是,我总是得到else echo语句。 我在这里缺少什么?

我正在使用XAMPP进行本地主机检查。

2 个答案:

答案 0 :(得分:-2)

试试这个,这可能会有所帮助

    <?php
    if ($_POST[])  {
        $name = $_POST['postname'];
        echo $name;
    }
    else
    {
        echo "There is a problem with the user id.";
    }

    ?>

答案 1 :(得分:-2)

var userid = $("#userid").val();
$.ajax
({
    type:'post',
    url:'user2.php',
    data:{
            get_id:"user2.php",
            userid:userid,
        },
            success:function(data) {
        if(data){
            $("#results").html(data);
        }
});

Php文件

<?php
if (isset ($_POST['userid'])) {
    $name = $_POST['userid'];
    echo $name;
}
else
{
    echo "There is a problem with the user id.";
}

?>