我正在使用 Jquery & ajax & php 创建登录表单。 除了 success 函数之外,一切正常。 当检索到 php 文件的响应时,即使它是 true,它也会运行 else 语句。
JQuery/Ajax 代码
$('document').ready(function()
{
$("#btnLogin").click(function(){
email=$("#userEmail").val();
password=$("#userPassword").val();
$.ajax({
type : 'POST',
url : 'userLogin.php',
//data : {userEmail: email, userPassword: password},
data: "userEmail="+email+"&userPassword="+password,
success : function(response)
{
if(response==='true'){
//login sucess animation
$("#btnLogin").html('<img src="media/login.gif" /> Iniciando sessão ...');
setTimeout(' window.location.href = "index.php"; ',4000);
}
else{
//error message
$("#error").fadeIn(5000, function(){
$("#errorlogin").html('<div class="alert alert-danger"> <span class="glyphicon glyphicon-info-sign"></span> '+response+' !</div>');
//$("#btnLogin").html('<span class="glyphicon glyphicon-log-in"></span> Sign In');
})
}
},
beforeSend: function()
{
$("#loginerror").fadeOut();
$("#btn-login").html('<span class="glyphicon glyphicon-transfer"></span>');
}
});
return false;
});
});
即使响应等于 true,它也会运行 else 语句(警报显示为“true!”而不是登录动画)
最佳答案
由于可能存在额外的空格,返回简单的字符串可能会出现错误。
尝试 trim 字符串或者更好地返回 json
if(response.trim()==='true'){
关于javascript - JQuery if 语句不起作用(AJAX/PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43836082/