我对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');
});
}
});
});
});
答案 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();
}