我有一个使用AJAX的登录脚本,但是我遇到了无法解决的代码问题。
以下是代码:
JS:
$(document).ready(function(){
$("#loginForm").submit(function(){
$("#report").removeClass().addClass('loader').html('Loading...').fadeIn(1000);
$.post("check_login.php",{ username:$('#signin_username').val(),password:$('#signin_pwd').val()},function(data){
console.log(data);
if(data == "TRUE"){
document.write(data);
console.log("YEP");
$("#report").fadeTo(200,1,function(){
$(this).html('Logging in.....').addClass('log').fadeTo(900,1,function(){
document.location='members/index.php';
});
});
}
else if(data == "FALSE"){
console.log("NOPE")
$("#report").fadeTo(200,1,function(){
$(this).html('Username or password error.').addClass('error').fadeTo(900,1);
});
}
});
return false;
});
$("#password").blur(function(){
$("#login_form").trigger('submit');
});
});
FORM:
<div id="login_form">
<h3>Login</h3>
<div id="signup_link">
<a href="signup/">Signup Now</a>
</div>
<div id="report"></div>
<form action="" method="post" id="loginForm">
<ul>
<li>
<label for="username">Email: </label>
<input type="text" id="signin_username" name="signin_username" required="required" />
</li>
<li>
<label for="pwd">Password: </label>
<input type="password" id ="signin_pwd" name="signin_pwd" required="required" />
</li>
<li>
<input type="submit" name="login" id="login" value="Login"/>
</li>
<li><a href="members/forgotPass.php" class="forgot_pass">Forgot Password</a></li>
</ul>
</form>
</div>
和js调用的PHP文件:
require_once 'members/classes/Membership.php';
# Make instance of membership class
$membership = new Membership();
$true = "FALSE";
$false = "FALSE";
if(!empty($_POST))
{
$username = $_POST['username'];
$pwd = $_POST['password'];
if($test = $membership->validate_user($username, $pwd))
echo $true;
else
echo $false;
}
else
{
echo "Details werent entered";
}
基本上php脚本调用的方法检查数据库以查看用户详细信息是否匹配以及是否允许他们登录,如果是,则返回true如果不返回false(这是它将返回的唯一两个值。 / p>
所以它工作文件,直到我们回到js代码,注意第一个“console.log”,这个输出似乎有很多空格,我想找到这样的字:
“
TRUE“
真实之上的空间没什么,所以当我测试if(data == "TRUE")
它永远不会是真的。
要么发生奇怪的事情,要么我错过了一些非常愚蠢的事情。谁能看到什么错了?
感谢您的时间。
答案 0 :(得分:3)
确保您没有输出空格的任何包含文件。犯这个错误很容易。