私はAjaxリクエストを使用してJqueryでフォームを投稿しています。ajaxリクエストがJqueryで既に送信されているかどうかをチェックする方法?
$.ajax(
{
type: "POST",
url: "login.php",
data: $("#signin").serialize(),
dataType: "json",
cache: false,
success: function(data, textStatus) {
if (data.redirect) {
window.location.replace(data.redirect);
}
else {
$('#some').fadeOut(200);
$('#some2').fadeIn(200);
$("#some3").html(data.form);
$("#some").delay(2000).fadeOut(200);
$('#some2').delay(2800).fadeIn(300);
}
}
});
ここで、「ログイン」ボタンをクリックするとすぐにajaxリクエストが行われます。問題は、今度は、ボタンを何度か押すとelse caseが数回実行され、#some、#some2、#some3がフェードアウトして何度か繰り返されるということです。では、リクエストが既に送信されているかどうかを(DBに何かを書き込むことなく)確認する方法はありますか?
はすぐにボタンのフックを外しますそれがクリックされると、成功またはエラーのためにハンドラで完了時に再度添付してください – Miquel
またはボタンを無効にして、同時にユーザにフィードバックを与えます。 – jeroen