在ajax结果为false之后提交表单时出现问题

时间:2017-12-18 09:41:27

标签: jquery ajax

我使用ajax来检查用户名是否已注册,在这种情况下我不想在ajax结果为false时提交表单(即,如果用户名存在)。

 $(document).ready(function(){  
  $('#name').change(function(){  
       var name = $('#name').val();  
       if(name != '')  
       {  
            $.ajax({  
                 url:"<?php echo site_url().'/login_controller/check_name_avalibility' ?>",  
                 method:"POST",  
                 data:{name:name},  
                 success:function(data){  
                      $('#name_result').html(data);  
                 }  
            });  
       }  
  });  });

1 个答案:

答案 0 :(得分:0)

从PHP脚本返回true或false:

$result = mysqli_query("SELECT * FROM users WHERE username = $username", $conn);
if($founduser = $mysqli_fetch_assoc($result)){
  echo 1;
}else{
  echo 0;
}

注意:此脚本对SQLInjection开放。请改用prepared statements

您的前端Ajax看起来像:

$('#name').change(function(){  
       var name = $('#name').val();  
       if(name != '')  
       {  
            $.ajax({  
                 url:"<?php echo site_url().'/login_controller/check_name_avalibility' ?>",  
                 method:"POST",  
                 data:{name:name},  
                 success:function(data){  
                      if(data = 1){
                        // username found
                        $('#name_result').html(data);
                      }else{
                        // submit form
                      }
                 }  
            });  
       }  
  });