<?php
include("../bean/UserEntity.php");
error_reporting(0);
$user = new UserEntity();
$sf = $user->finduser($_GET["username"]);
header('Content-type:text/html;charset=GB2312');
if($sf){
echo "true";
}else{
echo "false";
}
?>callback : function (){
if(xmlhttp.readyState == 4){
if(xmlhttp.status == 200){
var responseText = xmlhttp.responseText;
alert(responseText);
if(responseText == true){
                                    alert("right")
}else{
                                    alert("error");
}
}
}
},
responseText 在FF调试情况下 看到的值是
"\r\n\r\ntrue"alert()结果 既然是 true
忽略了前面的转义字符但是判断的时候 转义字符还是有影响
最后结果 error 为什么?
如何让 转义字符 忽略 或者返回就是干净数据不要让我在判断的时候 加上转义字符 摆脱。

解决方案 »

  1.   

    机器不会输出任何未经输入的东西你的 php 代码输出了 回车、换行符,自然 js 也就看到了他们
      

  2.   

    不知道在说什么、responseText 是string 类型吧。怎么能与boolean 值比较?
    if(responseText == 'true'){
      alert("right")
    }else{
      alert("error");
    }
    这样试试
      

  3.   

    楼上很对。。 注意换行符也要算进去 responseText == '\r\n\r\ntrue'
      

  4.   

    要去掉换行符,最好是后端输出时就去掉, 否则就用正则去掉吧 
    responseText.replace(/^\s+/g,'')=='true'
      

  5.   

    responseText == "true"
    我改成这样也不行呀一定要 "\r\n\r\ntrue"
    这样吗
      

  6.   

    if($sf){
            echo "true";
        }else{
            echo "false";
        }
    就输出 这样一个字符串 哪来的换行?
      

  7.   

    <?php 前面是否有换行?