PHP无法从JS获得$ _POST

I have created an HTML page and am attempting to use AJAX via JS to echo from a PHP page:

<!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>

I have tested the JS and see that userid indeed gets the information from the HTML.

I then wrote the following PHP:

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

?>

However, I am always getting the else echo statement. What am I missing here?

I am using XAMPP for local host checks.

Try this, It might help

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

    ?>
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 File

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

?>