아래 코드가 내가 원하는대로 순차적으로  실행이 안됐었다  알고보니깐 ajax가 비동기 호출을 해서 

해당 옵션 asynce부분을 false로 해줬어야 순차 실행이 되는거였다 

alert('productbasketfunction 0');

    sPname = oBasketChk.forbasketAjax(sPagePnum);

    alert('productbasketfunction 0.5');

    console.log(sPname);

    alert('productbasketfunction 1');

    oBasketChk.productBasket(sPagePnum,sPname);

    alert('productbasketfunction 2');



jQuery 다수의 Ajax 요청 처리 관련

 2012/11/27 12:20  Develop/Javascript


jQuery를 이용하여 다수의 Ajax 요청을 처리하여 결과 값으로 처리할 비지니스가 있는 경우. 문제가 발생 할 수 있다. 기본적으로 Javascript의 Ajax요청은 비동기 요청이 default 값 이기 때문에 ajax 요청은 진행 되는 상황에서도 다음 코드는 실행이 된다. 이와 같은 현상을 피할 수 있는 방법을 소개 한다.


1. setTimeout



//...

setTimeout(function() {

// process

}, 1000);

//...



위와 같은 방법을 이용하는 경우 1번째 인자는 구현하는 함수이고, 2번째 인자는 밀리초 단위로 들어간다. 위 방법은 그다지 추천하는 방법은 아니지만, 구현은 가능하다.


2. ajax 동기요청



//...

$.ajax({

//...

async: false,

//...

});

//...



jQuery를 사용 했는데, async는 기본 값이 true이고 비동기 요청을 하게 된다. 이 값을 false로 적용하게 되면, 동기 요청을 하면서 순차적인 처리가 가능해진다. 



http://blog.whitelife.co.kr/entry/jQuery-%EB%8B%A4%EC%88%98%EC%9D%98-Ajax-%EC%9A%94%EC%B2%AD-%EC%B2%98%EB%A6%AC-%EA%B4%80%EB%A0%A8

ajax 순차 실행

Posted by 이상욱1
,