日期:2014-05-17  浏览次数:20768 次

求解$.post(url,{},function(){});回调函数中如何使用判断语句
本人是菜鸟,想用Jquery来判断昵称是否被占用(用户信息保存在数据库中),由于没有导师,在这里求助各位大虾帮忙!
代码如下:
$(function(){
$("#txtNickName").blur(function(){
flag.nickname=false;
var reg=/[u4e00-\u9fa5A-Za-z-0-9-_]*/;
var nickname=$("#txtNickName").val();
flag.nickname=reg.test(nickname);//匹配昵称是否包含非法字符
//昵称为空
if(nickname==""){
$("#name\\.info").html("<img src='../images/wrong.gif'/>昵称不能为空!");
return;
//昵称不为空
}else if(nickname.toString().length<=3||nickname.toString().length>20){
$("#name\\.info").html("<img src='../images/wrong.gif'/>昵称长度4-20个字符,一个汉字为两个字符!");
return;
}else{
//匹配正则表达式
if(flag.nickname==true){
//ajax检测
         $("#name\\.info").html("<img src='../images/window_loading.gif'/>正在检测...");
         $.post( "/dangdang05.2/check.servlet",
            {'nickname':nickname},
             function(data){
                                     alert(data);

                                     if(data){ //问题在这里,不管data为false还是true,他都只执行if,else不执行,求解                                             $("#name\\.info").html("<img src='../images/wrong.gif'/>昵称已被占用!");
                         }else{
             $("#name\\.info").html("<img src='../images/right.gif'/>昵称可用!");  
                  }
          }
       );
         //不匹配正则表达式
        }else{
   $("#name\\.info").html("<img src='../images/wrong.gif'/>您的昵称包含非法字符,请重新输入");
   }
    }
});
});
------解决方案--------------------
你传过来的data类型是字符串还是布尔类型。你把它当字符类型来判断试试
------解决方案--------------------
$.post( "/dangdang05.2/check.servlet",
            {'nickname':nickname},
             function(data){
             var s = data+"";
           if(s=='true'){
          alert('s:'+s);
             $("#name\\.info").html("<img src='../images/wrong.gif'/>昵称已被占用