jQueryajaxとphpを使用してフィールドを検証したいと思います。
3文字を超えてテーピングを開始すると、リクエストがphpファイルに送信されますが、問題は、有効な3文字をタップし、4番目が無効な場合、リクエストの実行を4回待つ必要があることです。
最後のリクエストのみを実行し、他の保留中のリクエストを強制終了したい
私は試した:
xhr = $.ajax(//...);
xhr.abort();
と
if(typeof xhr !== 'undefined')
xhr.abort();
xhr = $.ajax(//...);
しかし、それは機能しません
これは私のコードです:
// Check validation errors
var minLength = 3;
$('input[name^="data"][type=text]').on('keyup', function(){
var input = $(this);
var value = $.trim(input.val());
var url = input.data('url');
var div = input.parent();
var serialized = input.serialize();
if(value.length >= minLength){
$.ajax({
type: 'POST',
url: url+'.json',
data: serialized,
dataType: 'json',
success: function(data){
var error = data.error;
if(error){
div.removeClass('valid').addClass('invalid');
}else{
div.removeClass('invalid').addClass('valid');
}
}
});
}
});