2013-05-16 5 views
0

Jquery의 $.get()을 사용하여 장기 실행 스크립트를 호출하는 페이지가 있습니다. 이 스크립트에서는 데이터베이스가 얼마나 멀리까지 처리되었는지를 (i.e. 2%, 4% etc)으로 업데이트합니다. 나는 첫번째 $.get()이 해고되기 전에 setTimeout을 통해 셋업되는 또 다른 $.get() 콜을 가지고있다.여러 Jquery AJAX 호출

내가 가지고있는 문제는 $.get() 진행 상태를 확인하기위한 호출이 장기 실행 가져 오기 때까지 절대 반환되지 않습니다. $.get()이 반환됩니다. 이것은 비동기 적이어야하기 때문에 옳지 않은 것처럼 보입니다.

필자가 Firefox에서 새 탭으로 실행하면 "확인 진행"URL이 표시되지만 크롬에서이 탭을로드하면 즉시 반환됩니다. 내가 아는 한, 파이어 폭스는 문제없이 호스트 네임 당 1 개 이상의 AJAX 호출을 실행할 수 있어야한다.

개발자 도구가 활성화 된 Chrome에서 첫 번째 작업이 완료 될 때까지 "진행 상태 확인"URL 호출이 "대기 중"이라고 표시됩니다.

두 요청을 모두 비동기로 실행하려면 어떻게해야합니까?

+3

과학 추측 : http://stackoverflow.com/a/6405685/251311 – zerkms

+0

빙고, 그게 문제였습니다. 나는 틀린 장소를보고 있었다. 이 질문을 답으로 추가하면이 질문을 닫은 것으로 표시합니다. – Noodles

답변

1

세션을 사용합니까? 그렇다면 - 긴 스크립트에서 세션을 닫지 않은 동안 다른 사람들은 그것을 기다릴 것입니다. 당신이 거기에 모든 시간을 세션이 필요하지 않은 경우

- 당신은 그것은 내 다른 대답의 전체 복사본입니다 session_write_close()

으로 닫을 수 있습니다 https://stackoverflow.com/a/6405685/251311