3

我对 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');
                });
            }
        });
    }); 
});
4

1 回答 1

2

我采取了将我的脚本简化为以下成功响应的方法。不出所料,现在它就像一台上油的机器,如果少一点浮华的话。

        if (data == "success")
        {
            $('.session_hide').hide();
            $('#modal_login').modal('hide');
            $('.session_show').show();
            $('.session_fadein').fadeIn(2000);
            $('.session_opacity').css({opacity: 1}).show();
        }
于 2013-06-09T20:06:43.520 回答