0
我目前正在構建一個簡單的AJAX調用應用程序,它會在它裏面輸入一些文本後顯示一個文本框的結果:如何防止重複的AJAX呼叫?
var delay = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})();
$(document).ready(function(e) {
$("input[name=html]").keyup(function(e) {
if(this.value.length > 1) {
e.preventDefault();
var form = $(this).closest('form');
var form_data = form.serialize();
var form_url = form.attr("action");
var form_method = form.attr("method").toUpperCase();
delay(function(){
$("#loadingimg").show();
$.ajax({
url: form_url,
type: form_method,
data: form_data,
cache: false,
success: function(returnhtml){
$("#result").html(returnhtml);
$("#loadingimg").hide();
}
});
},1000);
}
});
});
正如你可以從上面的演示看,例如,如果你輸入test,test1或test2或任何單詞,只要它們的長度大於1,那麼它將發起AJAX調用。
我的問題是,有什麼辦法可以讓我防止重複的AJAX調用?例如,如果我再次在文本框中鍵入測試,它會立即在div中顯示測試,而不會再發出另一個AJAX調用來再次獲取結果。非常感謝你提前。
美味的意大利麪。 – Vix