Ajax jQuery停滞不前

时间:2013-06-09 19:22:38

标签: jquery ajax

我对jQuery很新。我编写了这个脚本来管理登录的ajax请求。

我的问题有时候,如果我登录和退出几次,脚本有时不会执行if (data == "success")(或任何其他登录响应)中的任何内容。

它停留在$.post("exec_login.php"),即使它在没有重新加载页面的情况下先前运行了代码也没有问题。

$(document).ready(function() {

    //HTTP AJAX LOGIN REQUEST
    $("#modal_login_button_existing_user").click(function(){

        $.post("exec_login.php",
        {
            email : $("#modal_login_existing_email").val(),
            password : $("#modal_login_existing_password").val()
        },
        function(data,status){
            if (data == "success")
            {
                $('#modal_login_alert_success').html('').append('<strong>Welcome!</strong> You are now successfully logged in.').fadeIn(1000).delay(2000).queue(function(){ 
                    $('.session_hide').hide();
                    $('#modal_login').modal('hide').delay(1000).queue(function(){ 
                        $('.session_show').show();
                        $('.session_fadein').fadeIn(2000);
                        $('.session_opacity').css({opacity: 1}).show();

                        //$('.logged_in_name').html('').append(first + ' ' + second).show();
                    });
                });
            }
            else if (data == "failure")
            {   
                $('#modal_login_alert_success').hide();
                $('#modal_login_alert_failure').html('').append('<strong>Woops!</strong> The login details you provided were incorrect.').show();
            }
            else if (data == "empty")
            {
                $('#modal_login_alert_success').hide();
                $('#modal_login_alert_failure').html('').append('<strong>Darn!</strong> Some of the login boxes are empty still.').show();
            }
        });
    }); 
});

并注销代码:

$(document).ready(function() {  

    //HTTP AJAX LOGOUT REQUEST
    $("#modal_logout_button").click(function(){
        alert("test");
        $.post("exec_logout.php",
        {
            logout : "1",
        },
        function(data,status){
            if (data == "success")
            {
                $('.session_hide').fadeIn(1000).delay(200).queue(function(){
                    $('.session_show').hide();
                    $('.session_fadein').hide();
                    $('.session_opacity').hide();
                    $('#modal_logout').modal('hide');
                });
            }
        });
    }); 
});

1 个答案:

答案 0 :(得分:2)

我采用了将脚本简化为以下内容的方法来获得成功响应。毫无疑问,现在就像一台漂亮的涂油机一样工作,如果不那么华而不实。

        if (data == "success")
        {
            $('.session_hide').hide();
            $('#modal_login').modal('hide');
            $('.session_show').show();
            $('.session_fadein').fadeIn(2000);
            $('.session_opacity').css({opacity: 1}).show();
        }