에 동일한 페이지에 불 호출 아약스 여러합니다. 나는 그들이 모두 같은 시간에 시작하는 것 같아요.내가 같은 동일한 페이지에 호출 아약스 여러 jQuery를이 순서
내가 대기열에 넣어서 이전에 완료 될 때까지 특정 순서로 시작하는 방법이 있습니까?
에 동일한 페이지에 불 호출 아약스 여러합니다. 나는 그들이 모두 같은 시간에 시작하는 것 같아요.내가 같은 동일한 페이지에 호출 아약스 여러 jQuery를이 순서
내가 대기열에 넣어서 이전에 완료 될 때까지 특정 순서로 시작하는 방법이 있습니까?
요청을 대기시킬 수있는 following plugin을 살펴보십시오. 당신이 할 수있는
예, 코드를 작성하는 방식으로이 작업을 수행 할 수 있습니다.
$.ajax({
url: "page1.php",
cache: false,
success: function(html) {
// Make another call here
$.ajax({
url: "page1.php",
cache: false,
success: function(html) {
// and so on
}
});
}
});
AjaxQueue 플러그인을 구출 : 첫 번째 그럴 수 체인 요청의 콜백 함수의 다음 AJAX 호출을함으로써!
은 다음과 같이 그들을 체인 : 첫 번째에 대한
$.ajax({
url: "page1.php",
cache: false,
success: function(html) {
//do some stuff with returned html
},
complete: function(xhr) {
// do your next call
}
});
가 완료 될 때까지 대기 한 후 다음 중 하나를 만들기 위해. 더 나은 방법은 다음과 같이하는 것입니다.
var waiting = 0;
// for each request:
waiting++;
$.ajax({
url: "page1.php",
cache: false,
success: function(html) {
// save the returned stuff in an array
},
complete: function(xhr) {
if (--waiting <=0) { // == would probably suffice, but i like to be safe.
//process the result
}
}
});
이렇게하면로드 시간이 줄어들며 순서대로 처리 할 수 있습니다.
감사합니다. 나는 단지 나를 위해 삶을 좀 더 쉽게 만들어주기 위해 플러그인을 사용할 것입니다. – Jason
@ Jason Yer 아마 그렇 겠지. –