xmlhttp.responsetext 获取servlet的输出值比较出现问题

在使用xmlHttp.responseText获取Servlet返回值时,遇到比较不等的错误,原因是Servlet的out.println()方法会在输出后添加换行符。通过将out.println改为out.print()或out.write(),可以避免这个问题,从而解决值比较不相等的困扰。

在用xmlhttp.responsetext获取servlet中传过来的时候明明传来的值一样,但是判断的时候却显示不一样。

下面是我的代码:

 function checkUseridCallback(){ // 回调函数  

        if (xmlHttp.readyState == 4){           // 数据返回完毕  
            if (xmlHttp.status == 200){         // HTTP操作正常  
               var text = xmlHttp.responseText;// 接收返回内容  
                if (text=="true"){  
                    //flag = false;               // 无法提交表单  
                    document.getElementById("msg").innerHTML = "用户名ID重复,无法使用";  
                }
                else if(text=="false"){  
                    //flag = true;                // 可以提交表单  
                    document.getElementById("msg").innerHTML = "恭喜!此用户ID可以注册";  
                 } 
                else
               {  
                    //flag = true;                // 可以提交表单  
                   document.getElementById("msg").innerHTML = text;  
                 } 
            }  
        }  
    }  

  



但是我写代码的过程中发现 xmlHttp.responseText 的内容的确 为“true” 但是判断的时候还是不相等

原因很简单,就是在你的servlrt输出的时候用out.println("true")   这样导致输出的时候会在  返回值得后面多一个换行符

因此在与"true"比较的时候出现不相等的情况

所以你只要把out.println改成 Out.print()  或者 out.write() 就可以解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值