$.ajax({})怎么返回一个boolean,在线等答案,谢谢大神。

大大大大菜鸡 2012-12-13 09:22:06
// 用户名是否已经存在判断
$.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。
...全文
620 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
gotopause 2012-12-13
  • 打赏
  • 举报
回复
服务器返回0或1就可以了,js可以把bool型强转为0和1的
大大大大菜鸡 2012-12-13
  • 打赏
  • 举报
回复
function clickdata(){ var userName = $("#id_user").val(); var password1 = $("#id_pass1").val(); var password2 = $("#id_pass2").val(); if(!clickusername()) return false; //账号验证 if(password1.length < 8 || password1.length > 16){ $("#password1").html("<font color=red>请输入8~16位密码。</font>"); return false; } // 用户名不能和密码相同 if(userName == password1){ $("#password1").html("<font color=red>用户名密码不能相同</font>"); return false; } else { $("#password1").html("<font color=green>密码可以使用</font>"); } // 二次输入密码是否一致 if(password1 != password2 && password2 != null && password2 != "" ){ $("#password2").html("<font color=red>两次密码输入不一致,请重新输入!</font>"); return false; } if(password1 != password2){ $("#password2").html("<font color=red>请确认您的密码</font>"); return false; } if(password1 == password2){ $("#password2").html("<font color=green>二次确认密码正确!</font>"); } return true; } function clickusername(){ // 账号框失去焦点时验证方法--账号是否符合规范、账号是否和密码相同 var userName = $("#id_user").val(); var password1 = $("#id_pass1").val(); // 账号判断--不能为空 if(userName == "" || userName == null){ $("#username").html("<font color=red>用户名不能为空</font>"); return false; } // 账号长度判断--在8-16为之间 if(userName.length < 8 || userName.length > 16){ $("#username").html("<font color=red>用户名长度在8~16位之间"); return false; } if(isWhiteWpace(userName)){ $("#username").html("<font color=red>*请输入正确的用户名,用户名中不能包含空格!</font>"); return false; } // 用户名是否已经存在判断 $.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; } }) } function isWhiteWpace (s) { var whitespace = " \t\n\r"; var i; for (i = 0; i < s.length; i++){ var c = s.charAt(i); if (whitespace.indexOf(c) >= 0) { return true; } } return false; }
大大大大菜鸡 2012-12-13
  • 打赏
  • 举报
回复
引用 12 楼 liu4626846 的回复:
s有问题!自己仔细想想吧!不知道你的s.s是什么! 还有if(!clickusername()) return false这个判断个求。这个返回这个方法就行 return clickusername
s没有问题的,s是我action里返回的参数。s.s==”0“就是可以注册的用户名, 这跟s没关系的。 直接return clickusername()。那下面的其他的js验证都不执行了。大神你有没有搞错啊。
liu4626846 2012-12-13
  • 打赏
  • 举报
回复
s有问题!自己仔细想想吧!不知道你的s.s是什么! 还有if(!clickusername()) return false这个判断个求。这个返回这个方法就行 return clickusername
大大大大菜鸡 2012-12-13
  • 打赏
  • 举报
回复
引用 9 楼 liu4626846 的回复:
这么简单的问题自己测试下就知道了! 你只写了!clickusername 当然只有false
我就是想说 clickusername只返回 false, 返回不出true
大大大大菜鸡 2012-12-13
  • 打赏
  • 举报
回复
引用 9 楼 liu4626846 的回复:
这么简单的问题自己测试下就知道了! 你只写了!clickusername 当然只有false
那还写什么。
liu4626846 2012-12-13
  • 打赏
  • 举报
回复
这么简单的问题自己测试下就知道了! 你只写了!clickusername 当然只有false
大大大大菜鸡 2012-12-13
  • 打赏
  • 举报
回复
function clickusername(){ $.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; } }) } function clickdata(){ if(!clickusername()) return false; //账号验证 这里结果一直执行false,clickusername()不能返回true、false。 }
大大大大菜鸡 2012-12-13
  • 打赏
  • 举报
回复
引用 6 楼 liu4626846 的回复:
是的! 建议把error提前,不要用到这里!
可是这样得不到 true、false success : function(s){if(s.s == "0"){$("#username").html("<font color=green>用户名可以使用</font>");return true;}else{$("#username").html("<font color=red>用户名已存在</font>");return false;} },这里return,外面得不到的。
liu4626846 2012-12-13
  • 打赏
  • 举报
回复
是的! 建议把error提前,不要用到这里!
大大大大菜鸡 2012-12-13
  • 打赏
  • 举报
回复
引用 3 楼 liu4626846 的回复:
Java code?123456789101112131415161718192021222324252627282930if(isExistUser()){//true}else{//false} function isExistUser(){$.ajax({url : "http://localhost:8080/OracleTest/user!fina.action……
error是因为我输入;‘这些符号就会走error方法。 另外你写的 isExitUser() 我return isExitUser() 能得到 ture、false么?
liu4626846 2012-12-13
  • 打赏
  • 举报
回复
还有你居然把error 放进去做false 既然是用户是否存在,那么这个判断是否应该放在前面就验证好?
liu4626846 2012-12-13
  • 打赏
  • 举报
回复

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;
}
})
}
}

大大大大菜鸡 2012-12-13
  • 打赏
  • 举报
回复
引用 1 楼 scottxzj 的回复:
if(return function ***()){ }
什么意思?
snow-is-my-Love 2012-12-13
  • 打赏
  • 举报
回复
if(return function ***()){ }
大大大大菜鸡 2012-12-13
  • 打赏
  • 举报
回复
自己解决了。谢谢各位

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧