Y.H*_*mes 0 javascript php ajax jquery
我发现了一个有趣的问题,来自JQuery的AJAX请求的回显值,我没有回答:
我data == "LOCKED"永远不会回归真(第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{
[...]
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
PHP(1) - >获取类返回的值(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;
Run Code Online (Sandbox Code Playgroud)
PHP(2,"Login_check.php"):
[...]
// also tried:
// $test = "LOCKED";
// var_dump($test); // -> string(6) "LOCKED"
// return $test;
return "LOCKED";
[...]
Run Code Online (Sandbox Code Playgroud)
如果您需要进一步的信息,请告诉我!我希望有人知道导致这个问题的原因!
必须是因为一些白色空格或新线条,所以修剪它总是更好data.试试这个:
if (data.trim() == "LOCKED") {
Run Code Online (Sandbox Code Playgroud)
您还可以使用:
if ($.trim(data) == "LOCKED") { // using jQuery.
Run Code Online (Sandbox Code Playgroud)