无法与javascript中的php echo输出进行比较(jquery-post)

时间:2016-05-27 23:38:15

标签: javascript php jquery

我在密码字段输入密码,并将其从javascript发送到php,并将其与php中的'123'密钥变量进行比较。所以,如果它是真的那么它就是真实的,否则是假的。

然后,在我的回调函数字段的javascript文件中,数据不能在if语句中使用。我不知道为什么。

然而,当我只是想写数据时,它在我的html文件中写入了true,但是我无法与这个'true'进行比较

我的javascript:

$.post('validation.php', { input: pass }, function(data) {
      if ( data === "true")
      {
            // even if it is true, It skips here, goes else                                                                     
      }
      else 
      {

      }
 });   

我的php文件是:

<?php

$key = '123';
if (isset($_POST['input'])) {
    $pass = $_POST['input'];
    if ($pass === $key)
    {
        echo 'true';
    }
    else
    {
        echo 'false';
    }
}
?>

2 个答案:

答案 0 :(得分:1)

在javascript中比较它时,您可能需要修剪返回的值:

...if(data.trim() === "true")...

 var option = data.trim();
 if(data.trim() === option)...

答案 1 :(得分:0)

使用localeCompare函数。例如:

data.localeCompare("true")