如何在另一个ajax调用之后运行ajax调用?

时间:2010-01-03 15:53:00

标签: jquery ajax login

这是我遇到的问题。用户可以登录,但如果他们不刷新页面,则无法重新登录。那么如何才能一个接一个地调用另一个ajax调用呢?

第一个ajax调用正在加载注销链接,这可能是问题吗?

这是登录jquery代码:

 $(".bt_login").click(function (){
     $.ajax({
            type: 'POST',
            url: 'widgets/Login/loginProcess.php',
            data: dataString,
            success: function(data){
                if(data == 'error'){
                    alert('Wrong username and/or password!');
                }else{
                    $('#loginForm').html(data);
                    $('#greet').html('Hello '+username+'!').fadeIn();
                    $('#open').html('Open Panel');
                }
            }
        });
    });

这是注销jquery代码:

$('.bt_logout').click(function (){
        var dataString = 'process=logout';
        $.ajax({
            type: 'POST',
            url: 'widgets/Login/loginProcess.php',
            data: dataString,
            success: function(data){
                $('#loginForm').hide().html(data).fadeIn();
                $('#greet').html('Hello Guest!');
                $('#open').html('Log In | Register');
            }
        });
    });

3 个答案:

答案 0 :(得分:3)

如果您想要一个接一个地打个电话,请将代码拨打第一个电话的“成功”功能中的第二个电话。

答案 1 :(得分:2)

为了绑定事件,您只需在编写注销链接后运行第二个代码段。它与连续的Ajax调用无关,而是与在第一次调用的success方法中添加链接然后不绑定其click事件有关。

答案 2 :(得分:1)

在那种情况下:

$(".bt_login").click(function (){
 $.ajax({
        type: 'POST',
        url: 'widgets/Login/loginProcess.php',
        data: dataString,
        success: function(data){
            if(data == 'error'){
                alert('Wrong username and/or password!');
            }else{
                $('#loginForm').html(data);
                $('#greet').html('Hello '+username+'!').fadeIn();
                $('#open').html('Open Panel');

                // because .bt_logout only exists after this point:

                $('.bt_logout').click(function (){
                    var dataString = 'process=logout';
                    $.ajax({
                        type: 'POST',
                        url: 'widgets/Login/loginProcess.php',
                        data: dataString,
                        success: function(data){
                            $('#loginForm').hide().html(data).fadeIn();
                            $('#greet').html('Hello Guest!');
                            $('#open').html('Log In | Register');
                        }
                   });
               });
            }
        }
    });
});