가끔 내 페이지에서 동시에 많은 아약스 호출을 수행합니다. 모든 요소는 데이터가 사용 가능 해지면 업데이트됩니다 (호출을 대기열에 넣고 싶지는 않습니다). 그러나 때로는 모든 ajax 호출이 완료 될 때까지 웹 페이지가 요소를 업데이트하지 않습니다.업데이트 전에 모든 AJAX 호출이 완료 될 때까지 페이지가 대기합니다.
예를 들어, 내가 업데이트하는 행에 4 개의 그림이 있습니다. 각 이미지에는 해당 데이터를 사용할 수있게되면 원본을 업데이트하는 자체 Ajax 콜백이 있습니다. 코드는 다음과 같이 보입니다 :
for (var i = 0; i < numPictures; i++){
Dajaxice.Images.load_picture(callback_function, {'pictureId': i});
}
가 callback_function는 UI 요소에 이미지를 박았을 한번의 준비 :
imgSnippet = '<img src="' + data.img_source + '"/>'
$("#" + data.container_id).html(imgSnippet);
(데이터가이 기능은 서버로부터받은 객체이다) 나는 AJAX 기능을 위해 dajax (django 용 플러그인)을 사용하고 있습니다 (예에서 볼 수 있듯이). 서버 측에서 mod_wsgi를 통해 django 1.3을 실행하는 아파치 (2.2)가 있습니다.
실행되면 일부 아약스 호출이 더 일찍 끝났음에도 불구하고 (서버에서 볼 수 있음) 마지막 호출이 돌아올 때까지 페이지가 요소를 업데이트하지 않습니다.
제안 사항?
덕분에,
이것은 http://stackoverflow.com/questions/7504264/ajax-simultaneous-loading-of-multiple-images의 복제본으로 사람들이 귀하의 질문에 답변 한 것처럼 보입니다. 그렇지 않은가요? – dyoo
ajax 호출은 동기식입니까? 그렇다면, 자바 스크립트 컨트롤을 다시 시스템에 반환 할 때까지 화면 업데이트를받지 못할 수도 있습니다. – jfriend00
@dyoo : 좋은 장소지만 실제로는 그렇지 않습니다. 이 문제는 멀티 스레드 아파치 서버에서 발생합니다. – Goro