0

我有一个使用 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');
        });
});

形式:

<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(这是它将返回的仅有的两个值。

所以它可以工作文件,直到我们回到 js 代码,注意第一个“console.log”这个输出似乎在我正在寻找这样的单词之前有大量的空白:

"

真的”

真实之上的空间什么都不是,所以当我测试if(data == "TRUE")它永远不会是真实的。

要么发生了一些奇怪的事情,要么我错过了一些非常愚蠢的事情。任何人都可以看到有什么问题吗?

谢谢你的时间。

4

1 回答 1

3

确保您没有任何输出空格的包含文件。很容易犯这个错误。

于 2013-04-19T16:56:18.393 回答