Javascript php/jQuery检查用户名是否存在
我一直在尝试创建一个系统来检查所选用户名是否已被使用。我已经想出了以下代码Javascript php/jQuery检查用户名是否存在,javascript,jquery,Javascript,Jquery,我一直在尝试创建一个系统来检查所选用户名是否已被使用。我已经想出了以下代码 function checkUsername(username,func){ $.post("functions/checkUsername.php",{'username': username},function(data){ if(data!='1'){ popup_alert('The username you selected already exists.','Username Ex
function checkUsername(username,func){
$.post("functions/checkUsername.php",{'username': username},function(data){
if(data!='1'){ popup_alert('The username you selected already exists.','Username Exists','Close'); return false; }
else{ window[func](); }
});
}
如果用户名存在,则checkUsername.php返回0;如果用户名可用,则返回1。我在这方面做了很多测试。我的问题是,出于某种原因,它在设置数据之前运行if语句。我在if语句之前插入了一个警报(数据),它在创建popup_警报后弹出一个1
function checkUsername(username,callback){
$.post("functions/checkUsername.php",{'username': username},function(data){
callback && callback(data);
});
}
...
checkUsername(username,function(data) {
if(data!='1'){ popup_alert('The username you selected already exists.','Username Exists','Close'); return false; }
else{ window[func](); }
});
或者可以使用$.ajax
function checkUsername(username,func){
$.ajax({
type: 'POST',
async: false,
data: {'username': username},
url: 'functions/checkUsername.php',
success: function(data) {
if(data!='1'){ popup_alert('The username you selected already exists.','Username Exists','Close'); return false; }
else{ window[func](); }
},
error: function() {
alert('Connection error!');
}
});
}
您是如何发现它在设置数据之前运行的?你有没有试过用FireBug或类似的东西看一下?它以前不会跑的。这就是成功回调。所以这是一个非常错误的假设