Javascript 如果用户两次插入错误的凭证,Jquery登录功能将不起作用

Javascript 如果用户两次插入错误的凭证,Jquery登录功能将不起作用,javascript,php,jquery,Javascript,Php,Jquery,我有这个功能: $(function() { $("#loginform").submit(function(e) { e.preventDefault(); }).validate({ rules: { username: { required: true, email: true, }, password: {

我有这个功能:

$(function() {
    $("#loginform").submit(function(e) {
        e.preventDefault();
    }).validate({
        rules: {
            username: {
                required: true,
                email: true,
            },
            password: {
                required: true,
            }
        },
        // Specify the validation error messages
        messages: {
            username: {
                required: "please, enter your email",
                email: "This is not a valid email!",
            },
            password: {
                required: "please, enter your password", 
            }
        },
        submitHandler: function(form) { 
            $("#loginform").append('<div style="width:40%; margin: 20px auto;"class="loggingIn"><h4 style-"color:#ffffff; text-align:center;">Logging in ...</h4></div>'); 
            $("#loginform").append('<div class="spinningWheel" style="width:100%; text-align:center;"><img src="/images/ajaxspinner.gif" / width="50px;"></div>'); 

            $(".redFormButton").hide();

            var username = $('input[id=username]').val();  
            var password = $('input[id=password]').val(); 
            var token = $('input[id=token]').val(); 

            $.ajax({
                url: '/processLogin.php',
                type: 'post',
                dataType: 'json',
                data: {'username': username , 'password':password, 'token':token},
                success: function(data) {
                    if (data == true) {
                        $(".loggingIn").remove();
                        $(".spinningWheel").remove();
                        window.location.replace("index.php");
                    } else {
                        $(".loggingIn").remove();
                        $(".spinningWheel").remove();
                        $(".redFormButton").show();
                        $("#loginform").append('<div style="width:80%; margin: 0 auto;"class="loggingError"><h4 style="color:red; text-align:center;">the username or password is wrong. Please Check Again. </h4></div>'); 
                    }
                },
            }); // end ajax call     

            return false;  //This doesn't prevent the form from submitting.
        }
    });
});
令牌类为:

<?php
class Token {

    public static function generate() {
        return Session::put('token', md5(uniqid()));
    }

    public static function check($token) {
        $tokenName = Config::get('session/token_name');

        if(Session::exists($tokenName) && $token === Session::get($tokenName)) {
            Session::delete($tokenName);
            return true;
        }

        return false;
    }
}
知道我如何继续使用令牌吗?

试试这个技巧

在这条线上换车

   var username = $('input[id=username]').val();  
   var password = $('input[id=password]').val(); 
   var token = $('input[id=token]').val(); 

    $.ajax({
        url: '/processLogin.php',


提示:学习如何格式化代码以提高可读性@JaredFarrish你完全正确我知道。。。我会努力改进它。@JaredFarrish顺便说一句,你知道为什么这不起作用吗?;谢谢你。不幸的是,它不能解决问题。由于我输入了错误的密码,第一次它仍然返回“false”,第二次它直接进入processLogin.php的末尾,而没有评估上面编写的任何代码。最后一行。如果用户登录失败,请尝试使用jquery重置表单。我尝试使用$'loginform'[0]。重置,问题仍然存在。我不明白为什么。第一次为False,然后返回我在processLogin.phpi中回显的任何内容。对此,我真的很抱歉,但我认为如果论坛有错误,您需要使用静态变量true或False重新编写代码。问题是由Token类给出的,而不是由jquery给出的。我更新了我的问题。知道为什么不起作用了吗。可能是因为是静态方法?
<?php
class Token {

    public static function generate() {
        return Session::put('token', md5(uniqid()));
    }

    public static function check($token) {
        $tokenName = Config::get('session/token_name');

        if(Session::exists($tokenName) && $token === Session::get($tokenName)) {
            Session::delete($tokenName);
            return true;
        }

        return false;
    }
}
   var username = $('input[id=username]').val();  
   var password = $('input[id=password]').val(); 
   var token = $('input[id=token]').val(); 

    $.ajax({
        url: '/processLogin.php',
 var makhash =  (new Date).getTime();
 var username = $('input[id=username]').val();  
 var password = $('input[id=password]').val(); 
 var token = $('input[id=token]').val(); 

        $.ajax({
            cache: false,
            url: '/processLogin.php?hashcode='+makhash,