PHP Ajax警报不会工作

时间:2017-08-23 18:39:31

标签: javascript php jquery ajax

我正在尝试使用PHP和Ajax检查用户是否存在数据。使用以下代码:

的Ajax

$('#btn_check_pc').click(function() {
  username = $("#username").val();
  $.ajax({
    type: 'POST',
    url: 'process.php',
    data: "username=" + username,
    dataType: 'json',
    beforeSend: function() { //Do Something    
    },
    success: function(response) {
      if (response == 'used') {
        console.log("Username Already In Use");
      }
    }
  });
});

PHP

<?php
    include_once "includes/get_data.php" ;

    $username = $_POST["username"];
    //Validating purchase

    $checkUserRegistered = mysqli_query($db,"SELECT  * FROM  users WHERE username = '$username'") or die(mysqli_error($db));

    if(!mysqli_num_rows($checkUserRegistered)){
        // Do Something
    }else{
         echo 'used';
    }
?>

因此,当我单击#btn_check_pc按钮时,如果用户名已存在,则将使用PHP代码进行响应。我想用console.log("Username Already In Use")显示它,但它没有显示。我在这里缺少什么来表明console.log()任何人都可以帮助我?

2 个答案:

答案 0 :(得分:0)

您没有使用提醒功能,因此您看不到任何提示框。

您的代码几乎是正确的。如果你想看到结果,那么在成功中使用alert函数代替console.log()函数:function(response){} blcok。

只需对数据类型进行注释:&#39; json&#39;在ajax里面。否则你可以使用数据类型:&#39; text&#39; .Reason是你的预期数据不是json类型。它是文本类型。

$('#btn_check_pc').click(function() {
  username = $("#username").val();
  $.ajax({
    type: 'POST',
    url: 'process.php',
    data: "username=" + username,
    // (alternative in case of data) data: {username:username},

    dataType: 'text',

   //(expected data is not json) dataType: 'json',
    beforeSend: function() { //Do Something    
    },
    success: function(response) {
      if (response == 'used') {
        console.log("Username Already In Use");
      }
    }
  });
});

希望这会奏效。

答案 1 :(得分:-1)

您必须在代码中进行两处更改。

首先,因为你在ajax调用中使用了dataType json,所以你必须在php的响应中传递json

if(!mysqli_num_rows($checkUserRegistered)){
    echo json_encode(["success"=>false]);
}else{
    echo json_encode(["success"=>true]);
}

JS中的第二名。由于您通过POST调用ajax请求,因此您必须发送如下数据。

$.ajax({
    ...
    data: {username: username}
    ...
});

然后在您的成功处理程序中,您可以像这样进行检查

success: function(response) {
    if (response.success === true) {
        console.log("Username Already In Use");
    }
}