我正在尝试发送一个AJAX请求登录。昨天它工作得很好但是今天当我发送请求它完全发送一个请求但是第二个是不需要的。我被困在如何处理这个问题。请帮忙。
$('#login_form').submit(function(e) {
e.preventDefault();
$.post("<?php echo base_url() ?>login/login_user",
$(this).serializeArray(),
function(data) {
if (data == 0) {
$(".user").show().delay(2000).fadeOut();
}
if (data == "Epass") {
$(".pass").show().delay(2000).fadeOut();
}
if (data == "admin" || data =="other") {
$(".success").show().delay(2000).fadeOut();
if (data == "admin") {
window.location.href = "<?php echo base_url() ?>dashboard";
} else {
window.location.href = "<?php echo base_url() ?>index";
}
};
});
})
答案 0 :(得分:0)
当您需要在浏览器传递给其他代码之前完成ajax请求时,将asynchronous
设置为false
$.ajax(... async: false ...);
答案 1 :(得分:0)
我认为代码的以下部分会导致第二次调用
TblCustomers
尝试(在PHP回显调用结束时使用分号';'):
if (data == "admin") {
window.location.href = "<?php echo base_url() ?>dashboard";
} else {
window.location.href = "<?php echo base_url() ?>index";
}