아래 코드가 내가 원하는대로 순차적으로 실행이 안됐었다 알고보니깐 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 순차 실행
'javascript' 카테고리의 다른 글
오브젝트 안에 여러 배열 넣을때 (0) | 2015.10.12 |
---|---|
제이쿼리 name과 id 를써서 접근하는경우 (0) | 2015.10.06 |
ajax 통신의 가장 중요한 객체 XMLHttpRequest (0) | 2015.10.06 |
자바스크립트 객체 {} 선언 후 널 값 체크 (0) | 2015.10.06 |
자바스크립트 내부객체 오버라이딩 하기 (0) | 2015.10.02 |