[英]Ajax event only working once
當我輸入錯誤的細節並運行它。 它彈出錯誤消息,但如果我然后輸入正確的詳細信息,然后單擊再次運行它。 登錄按鈕變為“正在連接...”,但它沒有其他任何事情發生
$(document).ready(function() {
var width = ( $(".main").width() - 5);
if (width < 300) {
$(".logo-img").css({"width":width});
};
$("#error").hide();
$(function() {
$('#login').on('click', function(e){
e.preventDefault();
var token = $('#token').val();
var username = $('#username').val();
var password = $('#password').val();
var remember = $('#remember:checked').val();
$.ajax({
url: 'core/functions/ajaxLogin.php',
method: 'POST',
data: { 'username' : username,
'password' : password,
'remember' : remember,
'token' : token },
dataType: 'html',
cache: false,
beforeSend: function() { $('#login').val('Connecting...') },
success: function( data ) {
if (data == 'success') {
setTimeout( "window.location.href='backorderbook';", 500 );
} else if( data == 'userorpass' ) {
$('#error').fadeIn();
$('#error_message')
.html('username or password were entered incorrectly');
$('#error').delay(3500).fadeOut();
$('#login').val('Sign In');
};
}
});
});
});
});
工作一次的原因。
當你的ajax被解雇時,首先要做的是顯示連接..然后當你得到響應時,你的聲明說的是data
if data == success //redirects
elseif data == userpass //show you have invalid username/password and clear html
那么如果您的數據不是成功/用戶通過怎么辦?
它只會運行你的ajax beforeSend()
而不會刪除你運行一次的連接。
我建議你的數據應該是一個對象並檢查它上面的消息是否有錯誤,簡而言之就是你的后端只有jquery顯示該消息
加載登錄頁面並使用Ajax發送時會生成令牌。 但我的PHP令牌系統不喜歡反復發送相同的令牌並阻止請求。
用Fiddler運行你的函數..和/或將錯誤參數添加到你的ajax ...賠率是你的網絡請求不成功。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.