Correction status:qualified
Teacher's comments:
//html代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>3.$.ajax() 无刷新验证</title> </head> <body> <h2>用户登录</h2> <form action=""> <fieldset> <p>用户名:<input type="text" name="name"></p> <!-- <span style="color:red;">用户名已存在不能注册</span> --> </fieldset> </form> </body> </html> <script src='../js/jquery-3.3.1.js'></script> <script> //当失去焦点的时候进行验证 $(':input').blur(function(){ $.ajax({ url:'api/demo1.php', type:'GET', dataType:'json', data: $('form:first').serialize() //serialize()结果是一个字符串 // data: $('form:first').serializeArray(), //json }).done(function(res){ //成功回调 console.log('res') if(res.status == 0){ $('p').append($(res.tips)) }else{ $('p').append($(res.tips)).append($('<p>').css('color', 'lightskyblue').text('正在跳转。。。')) } }) }) </script>
<--demo1.php--> <?php // print_r($_GET);exit; //用数组来模拟数据库中已经存在的用户名,这些用户名是 $nameList = ['admin', 'peter', 'php']; //当前提交的用户名 $userName = $_GET['name']; //判断用户名是不为空 if(strlen(trim($userName)) == 0){ $status = 0; $tips = '<span style="color:red;">用户名不能为空</span>'; // echo '<span style="color:red;">用户名不能为空</span>'; }else if(is_numeric($userName)){ $status = 0; $tips = '<span style="color:red;">用户名不能为纯数字</span>'; }else if(in_array($userName, $nameList)){ $status = 0; $tips = '<span style="color:red;">用户名太抢手了,换一个</span>'; }else{ $status = 1; $tips = '<span style="color:green;">恭喜,用户名可用</span>'; } echo json_encode(['status'=>$status, 'tips'=>$tips]);