我使用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);
}
});
}
}); });
答案 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
}
}
});
}
});