繁体   English   中英

如何在ajax调用和响应中使用“ if-else”来处理成功?

[英]How to handle success with 'if - else' in ajax call and response?

我在AJAX中有一个书面代码,可以检查密码是否存在。 如果是,则发送“ OK”作为输出,否则发送“ Incorrect”作为输出。 我想在AJAX调用的响应中成功处理程序以基于该任务执行任务。 怎么处理呢? 我想要密码是否正确,要删除表单元素中禁用的属性,否则我希望该表单元素的属性仍保持禁用状态。 AJAX代码像这样:

$("#currentpassword").keyup(function() {
    var name = $(this).val();

    if (name.length > 5) {
        $("#result").html('checking...');



        $.ajax({

            type: 'POST',
            url: 'checkPassword.php',
            data: $(this).serialize(),
            success: function(data) {
                if (data == "1") {
                    $("#result").html(data);
                    $("#newpassword").removeAttr("disabled");
                    $("#confirmpassword").removeAttr("disabled");

                } else {
                    $("#result").html(data);

                }
            }


        });
        return false;
    } else {
        $("#result").html('');
    }
});

checkpassword php文件如下所示:

 <?php

  include_once 'includes.php';




// Submitted form data 

         $currentpassword=$_POST['currentpassword'];


        $result = mysqli_query($db,"SELECT * FROM `users` WHERE `password`='$currentpassword' AND `username`='$session_username'");
$row = mysqli_num_rows($result);

if($row!=1) {
    echo "<span style='color:red;'>Incorrect Password !!!</span>";;

}
else {
    echo "OK";
}

// Output status

 ?>

好的方法是PHP文件应如下所示

<?PHP

header('Content-type:application/json;charset=utf-8');

include_once 'includes.php';

$currentpassword=$_POST['currentpassword'];

$result = mysqli_query($db,"SELECT * FROM `users` WHERE `password`='$currentpassword' AND `username`='$session_username'");
$count  = mysqli_num_rows($result);

if($count! = 1) {
   header('HTTP/1.1 401 Unauthorized', true, 401);
    echo json_encode('In Correct Password');
} else {
    header('HTTP/1.1 404 Not Found', true, 404);
    echo json_encode('Not Found');
}

然后您的Jquery

$.ajax({

            type: 'POST',
            url: 'checkPassword.php',
            data: $(this).serialize(),
            success: function(data) {
               // Only 200 comes here
            }, error(jqXHR, exception) {
              // All errors except 200 comes here.
            }


        });

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM