Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript ajax if语句错误地返回false_Javascript_Php_Ajax - Fatal编程技术网

javascript ajax if语句错误地返回false

javascript ajax if语句错误地返回false,javascript,php,ajax,Javascript,Php,Ajax,在成功连接并使用ajax从php接收数据之后,我做了if语句,它给出false,我不知道为什么 javascript: var xhr = new XMLHttpRequest(); xhr.open('POST', action, true); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.onreadystatechange = function (){ if (xhr.readyState == 4 &

在成功连接并使用ajax从php接收数据之后,我做了if语句,它给出false,我不知道为什么

javascript:

var xhr = new XMLHttpRequest();
xhr.open('POST', action, true);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.onreadystatechange = function (){
if (xhr.readyState == 4 && xhr.status == 200){
    var result = xhr.responseText;
    console.log(result); //gives correctly invalid_login_data
    if (result == 'invalid_login_data'){
        console.log("true");  
    }
    else{
        console.log("false");
    }
}
php:

这是真的


原因是什么?

没有提供更多信息,因此我们只能提供以下解决方案:

用以下内容替换if/else块:

if (result.search('invalid_login_data')>=0){
        console.log("true");  
    }
    else{
        console.log("false");
    }

您没有提供足够的信息来重现问题。我猜问题是,
result
除了要比较的文本外,还包含空格。请尝试
console.log(result+“)
-如果空格后会添加一个点(如@Quentin所建议的),那么您必须对其进行修剪,如果提供的示例与您添加的方式正确,一切都会很好,然后,
前面的空格似乎是js字符串比较:pconsole.log(result+”)给出了“invalid_login_data”。这是真的,但我不知道为什么我的代码会给出false@gileneusz它给出了true,因为它在字符串上搜索,如果找到,它将返回true。您的问题是
空白
您可能是对的,但是如果我在确切的位置给出“”,并且代码中没有空白,我不知道源代码在哪里:)
        <?php
        $result_php = "invalid_login_data";
        echo $result_php;
        ?>
       <?php
       $result_php = 3;
       echo $result_php;
       ?>
        if (result == 3){
if (result.search('invalid_login_data')>=0){
        console.log("true");  
    }
    else{
        console.log("false");
    }