AJAX를 사용하여 페이지 범위를 가져와 배열의 지정된 위치가 i
for 루프 (블로그 페이지를위한 캐싱과 같은 기능이며, for 루프의 범위는 완전히 가변적이다). 나는 다음에 가깝다 뭔가를하고 있어요 :for 루프를위한 AJAX 호출은 배열 위치를 수정하기위한 값을 반환하지 않습니다.
var bongo = new Array();
for (i = 0; i < 10; i++) {
jQuery.ajax({ type: "GET", url: 'http://localhost', data: queryString, success: function(request) { bongo[i] = request } })
}
문제는, 나는 아약스 옵션에 async: false
을 추가하지 않으면 (... 에이잭스를 그것을 만들 것이다?) 것을 요청 기본적으로 일시에 발생하는 브라우저, 내가하려고하는 것에 대해, 성공 콜백의 i는 항상 11이된다. 물론 나는 반환 된 데이터를 배열의 각 슬롯에 0에서 10까지 넣기를 원한다.
은 이걸로 라인을 교체 시도했다 :
bongo[i] = jQuery.ajax({ type: "GET", url: 'http://localhost', data: queryString }).responseText
그러나 그것은 아무런 차이를 만들지 않았습니다.
그것은 매력처럼 작동합니다. 그러나 나는 결승전 (i)에서 얻은 것을 얻지 못했다. –
바깥 쪽 i의 값은 랩핑 자체 실행 익명 함수로 전달됩니다. 이 고유 값의 위치는 비동기 콜백에 의해 캡처됩니다. 이런 방식으로 각 비동기는 자체 실행 기능이 호출 된 순간에 결정된 자체 값을 가져옵니다. 그것이 종결 지점입니다 !! ;) – Plastic