2013-04-11 81 views
0

您好我正在为我的网页的jquery ajax解决方案有一个getir.php 我用它的jQuery发布数据(这是一个用户名),如果名称存在它回声'真'或“假”如果声明错误jquery

这里是

if (isset($_POST['name'])) { 
if($synan->checkNameIsExist($_POST['name'])){ 
    echo'TRUE'; 
}else{ 
    echo'FALSE'; 
} 
} 

它工作正常,我看到控制台真或假的结果,但我对jQuery的部分问题

$(document).ready(function() { 
    $("#user_name_reg").blur(function() { 
     txt = $(this).val(); 

     $.post("getir.php", { 
      name: txt, 
      method: "checkName" 
     }, function (result) { 

      console.log(result); 
      if (result == 'TRUE') { 
       $("span").html("answer true"); 
      } else { 
       $("span").html("answer false"); 
      } 
     }); 
    }); 
}); 

我couldnot使它工作的我f声明。 感谢您的建议

+0

执行代码时,实际上会发生什么?你会得到一个JavaScript错误?你看到“回答错误”吗? – 2013-04-11 01:04:45

+1

如果你'console.log(“'”+ result +“'”);'?你看到输出中有空白吗? – hek2mgl 2013-04-11 01:05:22

+0

什么是您的日志结果的价值? – 2013-04-11 01:05:31

回答

3

收盘?>标签发出后没有内容,从您的输出:

console.log(typeof result, result.length, result); 

string 78 true,我们知道三两件事:

  1. 我们正在处理一个字符串
  2. 有很多涉及的空白
  3. 有一些奇怪的情况转换正在进行。

以下帐户的解决方案,这些意见:

result = $.trim(result).toLowerCase(); 
if (result == 'true') { 
    $("span").html("answer true"); 
} else { 
    $("span").html("answer false"); 
} 
+0

yeahhhhhhhhhhhhhhhhhhhhhhhhhh它的工作原理谢谢你这个男人它杀了我1小时 – synan54 2013-04-11 01:23:07

+0

真棒,很高兴它的工作! – jmar777 2013-04-11 01:24:51

+0

解决方案很好,但在返回之前处理您的PHP脚本以清理输出将是一个好主意。也许会返回一个标准格式,比如JSON,然后从你的客户端脚本中删除清理代码,它不属于它(因为你控制了后端)。 – 2013-04-11 17:31:08

1

如果PHP使用默认的内容类型:“text/plain的”和真的只返回是“真”或“假” 没有周围的例子任何前导空格或其他内容以上工作。调用console.log()时,应确保使用引号输出。就像这样:

console.log("'" . result . "'"); 

如果周围有它的空格,请确保您有开幕<?php标签之前或在PHP