Php jquery val()和serialize()

Php jquery val()和serialize(),php,jquery,Php,Jquery,问题: 当我使用.serialize()时,它可以正常工作。 当我使用.val()时,它在控制台上显示: failed admin admin是用户名,但我认为jquery并没有从php中得到回音 Jquery文件 $(document).ready(function() { $('#username').blur(function(event) { // var submitData = $('#login_form').serialize(); var us

问题: 当我使用.serialize()时,它可以正常工作。 当我使用.val()时,它在控制台上显示:

failed 
admin 
admin是用户名,但我认为jquery并没有从php中得到回音

Jquery文件

$(document).ready(function() {
$('#username').blur(function(event) {
      // var submitData = $('#login_form').serialize();
        var username=$("#username").val();
        $.ajax({
          url: './checkUsername.php',
          type: 'POST',
          data: username
        })
        .done(function(res) {
          if (res == 1) {
            $('#checkUsername').html("User exists");
            console.log("success");
          } else {
            $('#checkUsername').html("User do not exists");
            console.log("failed");
            console.log(username);
          }

        })});
Php文件

<?php
require_once 'config.php';

$username = $_POST['username'];

$query = "select * from members where username='$username'";

if ($stmt = mysqli_prepare($con, $query)) {
    mysqli_stmt_execute($stmt);
    mysqli_stmt_store_result($stmt);

    if (mysqli_stmt_num_rows($stmt) == 1) {
        echo 1;
    } else {
        echo 0;
    }

    mysqli_stmt_close($stmt);
}
mysqli_close($con);
?>

数据:用户名
更改为
{username:username}

因为传递数据需要索引


了解有关jquery post的更多信息

数据:用户名
更改为
{username:username}

因为传递数据需要索引


了解有关jquery post的更多信息

您只发送了一个值:

data: username
但服务器端代码需要一个键/值对:

发送具有该值的键的对象:

data: { username: username }

您只发送了一个值:

data: username
但服务器端代码需要一个键/值对:

发送具有该值的键的对象:

data: { username: username }