我有一个文本框,每当用户输入一个字母时,我都会通过ajax请求进行搜索,并将结果实时显示给用户。通常情况下,当用户键入字母时,请求的时间比用户输入新字母的时间更长,因此在第一个请求结束之前就会发出新的请求。如果第一个请求能够结束后再进行下一个请求,那将会更好。是否有一种好的方法可以只在最新的请求结束后才发出新的请求?
这是我的jquery代码:
这是我的jquery代码:
$("#MyTextBox").change(function() {
if (this.value.length > 2) {
$.ajax({
type: "GET",
url: "http://www.domain.com/Service.svc/Search?keyword=" + this.value,
dataType: "json",
success: function(data) {
//here I have some code that shows the result for the user
}
});
}
});
complete
设置中的request_in_progress
,而不是在请求失败时分配给success
。 - David Neale