我一直在尝试创建一个系统来检查所选用户名是否已被使用。我提出了以下代码。
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_alert后弹出一个警告。
答案 0 :(得分: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!');
}
});
}