ajax 실행 도중 다른 ajax 콜 실행하는 방법이 있을까요?

ajax 실행 도중 다른 ajax 콜 실행하는 방법이 있을까요?

QA

ajax 실행 도중 다른 ajax 콜 실행하는 방법이 있을까요?

본문

안녕하세요?

질문 제목이 다소 애매한데, 어떻게 요약해야할지 모르겠네요 ㅠ

아래에 정리해서 질문 드립니다.

 

1. 

쇼핑몰 상품목록 입니다.

 

2.

300여개 상품들을 먼저 모두 띄우고, 각 아이템에 장바구니에 담기 버튼을 각각 ajax로 불러오도록 했습니다.

버튼이 각 상태에 따라 다른데, 이 상태를 처리하는데 시간이 다소 소요되기에 그렇습니다.

 

2.

페이지가 로드되면 상품이 주르륵 뜨고, 각 제목 옆에 빙글빙글 도는 로딩 이미지가 표시됩니다.

 

3.

각 아이템을 jQuery의 $.each()로 돌며 어떤 버튼을 띄울지 처리하는 ajax가 실행됩니다.

 

4.

ajax의 success 를 통해 버튼 HTML을 불러온 후 로딩 이미지와 .replaceWith() 합니다.

 

5.

이렇게 생성된 각 버튼은 $(document).delegate('click', '.btn', function () { }); 을 통해 이벤트를 받습니다.

버튼을 클릭하면 두번째 ajax가 돌며 장바구니에 담는 처리를 합니다.

 

[ 문의사항 ]

상태에 따라 버튼이 알맞게 뜨는 것 (4번) 까지는 문제가 없습니다.

다만 버튼을 클릭했을 때 (5번), 장바구니에 담는 처리를 하는 ajax 처리가 지연됩니다.

$.each 를 통해 차례로 실행되는 첫번째 ajax 처리가 모두 끝나야 실행되네요.

 

이게 ajax 문제인지, 아니면 $.each 루프가 모두 완료되야 다음 이벤트가 실행되는 것인지 궁금하며,

궁극적으로는 1~4번 프로세스와 5번 프로세스가 서로 관련없이 별개로 처리되었으면 합니다.

 

고수님들의 도움 절실합니다.

 

감사합니다.

 

 

 

이 질문에 댓글 쓰기 :

답변 1

먼저 동기 비동기확인해 보세요

ajax 구문 안에 

혹 async : false  로 되어있는지 확인하시고 false  로 되어있으시면 

async : true 로 변경해 보세요 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,503 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT