这是我遇到的问题。用户可以登录,但如果他们不刷新页面,则无法重新登录。那么如何才能一个接一个地调用另一个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');
}
});
});
答案 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');
}
});
});
}
}
});
});