Php jqueryajax,如果其他方法不起作用
正如我所调查的那样,这个语句的返回数据是“经过身份验证的”,这意味着if语句应该生效。然而,由于我不知道的原因,它直接转到语句的其他部分,使数据为假,即使它是真的。像Php jqueryajax,如果其他方法不起作用,php,jquery,ajax,if-statement,Php,Jquery,Ajax,If Statement,正如我所调查的那样,这个语句的返回数据是“经过身份验证的”,这意味着if语句应该生效。然而,由于我不知道的原因,它直接转到语句的其他部分,使数据为假,即使它是真的。像“authenticated”==“authenticated”。它忽略了if部分,我不知道为什么 function login_admin_user() { username = $("#ad-username").val(); password = $("#ad-password").val(); $(
“authenticated”==“authenticated”
。它忽略了if部分,我不知道为什么
function login_admin_user() {
username = $("#ad-username").val();
password = $("#ad-password").val();
$("#button-login").val("Logging in...");
$.post("ajax-login.php", {
username: username,
password: password
}, function (data) {
if (data == "authenticated") {
/* Execute if authenticated */
$("#box-login-confirmed").fadeIn("slow", function () {
$("#button-login").val("Login");
})
.delay(1000)
.fadeOut(400, function () {
window.location = "home.php";
});
} else {
/* Execute if invalid login */
$("#box-login-error").fadeIn("slow", function () {
$("#button-login").val("Login");
$("#ad-password").val("");
})
.delay(3000)
.fadeOut(400);
}
});
}
“授权”=“已验证”
。你错过了一个“t”。您的响应也可能包含空格。因此,检查响应中的内容。在进行检查之前,最好调整您的响应。可以使用函数删除空格
试着
if($.trim(data) == "authenticated"){
//Some code
}
else{
//Some code
}
为什么响应包含空格。你可以在这里找到答案
$.post方法的默认返回类型是HTML。因此,如果将返回类型设置为JSON,并在PHP文件中将JSON编码的值返回为“authenticated”。。那可能行得通我也遇到过这个问题。从响应数据中使用$.trim()将有助于修改奇怪的空格。
authenticated==“authenticated”
这将是错误的。你在第一个单词中漏掉了一个“t”。如果(true),只需尝试。另一种调试方法是在if语句之前console.log(data)
,查看它到底在向您吐什么。如何console.log(data)?来自ajax-login.php的结果是“已验证的”,因此它与上述代码中的if条件相匹配。然而,即使符合条件,它也会直接转到else部分。显然它不会,否则你就不会在这里问为什么它不工作了。您是否尝试过if(true)
?另外,就在}行之后,函数(data){
addconsole.log(data)
然后看一看:我建议您将它放在if
语句之前:console.log(“+data+”);
然后查看调试日志,这样您就可以准确地看到数据
变量是什么。如果它要进入else
语句,那么它显然不是您想要的,所以您必须计算它有什么值。这应该是基本调试。要么记录该值,要么设置一个断点,然后查看该值。在不了解基本调试工具的情况下编写Javascript是非常非常困难的,当然不推荐这样做。这不是缺少的t
。这是一个输入错误。还有一种可能是空格。我已经提到过,tooTHIS ONE可以完美地工作。$.trim(数据)。这是如何工作的?因为来自ajax登录的数据是这样的:echo“authenticated”;没有空格,但我仍然需要修剪它,即使我清楚地回应没有空格的“已验证”。非常感谢兄弟!:)