日期:2014-05-19  浏览次数:20782 次

$.ajax({})怎么返回一个boolean,在线等答案,谢谢大神。
// 用户名是否已经存在判断
$.ajax({
url : "http://localhost:8080/OracleTest/user!fina.action",
dateType : 'json',
type : 'post',
async: false,
    data : 'user.username=' +userName,
    success : function(s){
if(s.s == "0"){
$("#username").html("<font color=green>用户名可以使用</font>");
return true;
}
else{
$("#username").html("<font color=red>用户名已存在</font>");
return false;
}
},
error : function(){
$("#username").html("<font color=red>账号存在非法字符</font>");
return false;
}
})
}

这里如何返回一个boolean出来。
就是说 if($.ajax({})怎么才能得到 true、false。
------解决方案--------------------
if(return  function ***()){

}
------解决方案--------------------

if(isExistUser()){
//true
}else{
//false
}

function isExistUser(){
$.ajax({
url : "http://localhost:8080/OracleTest/user!fina.action",
dateType : 'json',
type : 'post',
async: false,
    data : 'user.username=' +userName,
    success : function(s){
if(s.s == "0"){
$("#username").html("<font color=green>用户名可以使用</font>");
return true;
}
else{
$("#username").html("<font color=red>用户名已存在</font>");
return false;

},
error : function(){
$("#username").html("<font color=red>账号存在非法字符</font>");
return false;
}
})
}
}


------解决方案--------------------
还有你居然把error 放进去做false 既然是用户是否存在,那么这个判断是否应该放在前面就验证好?
------解决方案--------------------
是的!  建议把error提前,不要用到这里!
------解决方案--------------------
这么简单的问题自己测试下就知道了!

你只写了!clickusername 当然只有false

------解决方案--------------------
服务器返回0或1就可以了,js可以把bool型强转为0和1的