javascript - 在 JQuery 中比较两个相同的字符串返回 false

标签 javascript php jquery ajax

我发现了一个有趣的问题,即 JQuery 的 AJAX 请求中的回显值,但我没有答案:

我的data == "LOCKED"永远不会返回true(第13行)!

JQuery -> 单击按钮时的 AJAX 调用:

$.ajax({
        url: "ajax/login_ajax_call.php",
        method: "POST",
        data: { user: usr, password: pwd }
    }).done(function(data){
            if(data == true || data == "true"){          // -> this works with data beeing true (bool) or "true" (string)
                $("#form_submit").submit();
            }
            else{
                console.log(jQuery.type(data));          // -> (string)
                console.log(data);                       // -> "LOCKED" 
                console.log(jQuery.type("LOCKED"));      // -> (string)
                if(data == "LOCKED"){                    // also tried "===" but it never returns true
                    [...]            
                }
                else{
                    [...]
                }
            }
    }); 
});             

PHP(1) -> 获取 Class(PHP(2)) 返回的值:

include_once("../Classes/Login_check.php");
$lih = new Login_check();
$result = $lih -> check($_POST["user"], $_POST["password"]);
var_dump($result);                                     // -> string(6) "LOCKED"
echo $result;

PHP(2,“Login_check.php”):

[...]
// also tried: 
// $test = "LOCKED"; 
// var_dump($test);                                    // -> string(6) "LOCKED"
// return $test;
return "LOCKED";
[...]

如果您需要更多信息,请告诉我! 我希望有人知道导致这个问题的原因!

最佳答案

一定是因为一些空格或换行, trim 数据总是更好。试试这个:

if (data.trim() == "LOCKED") {

您还可以使用:

if ($.trim(data) == "LOCKED") { // using jQuery.

关于javascript - 在 JQuery 中比较两个相同的字符串返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34744565/

相关文章:

php - Symfony 表单 : disable "required" for a field from Twig

jquery - 像素转MM方程?

javascript - 如何获得窗口精确的滚动位置

javascript - Promise.all 在 foreach 循环之后

javascript - 无论先前的元素长度如何,如何将 anchor 对齐到中心

php - 如何在 javascript 中创建多维和关联数组?

php - symfony 2 中的自定义存储库类不起作用

具有自动多列显示内容的 Javascript CSS

javascript - 从剪贴板发送文件

javascript - IE11 的 ES6 代理 Polyfill