사용자가 문자를 입력 할 때마다 Ajax 요청으로 검색하고 결과를 "실시간"으로 표시하는 텍스트 상자가 있습니다. 종종 사용자가 글자를 입력 할 때 사용자가 새로운 글자를 입력하는 것보다 요청을하는 데 더 많은 시간이 걸리기 때문에 첫 번째 글자가 끝나기 전에 새로운 요청이 만들어집니다. 다음 요청을하기 전에 첫 번째 프로그램이 끝나면 훨씬 더 좋습니다. 최신 요청이 끝난 경우에만 새로운 요청을하는 좋은 방법이 있습니까?Jquery ajax 요청, 최신 요청이 완료 될 때까지 기다림
이 내 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
}
});
}
});
고마워요! 이것은 내가 찾고 있었던 바로 그 것이었다. 그러나 어떤 이유로 텍스트를 입력 할 때마다 글자를 입력 할 때마다 약간 버그가 있으며 각 글자가 일종의 지연으로 표시되는 것처럼 보입니다. ajax 요청은 비동기로 보내야 텍스트 상자에 영향을주지 않아야합니다. – Martin
요청이 실패 할 경우'success'보다는'complete' 설정에서'request_in_progress'와 같은 정리 코드를 가진 함수를 할당하는 것이 좋습니다. –