본문으로 바로가기

jquery ajax 동기전송

category 웹프로그래밍/Javascript 2015. 12. 21. 18:04
jquery ajax 동기 전송

http://api.jquery.com/jQuery.ajax/



ajax는 기본적으로 비동기식 전송입니다.

서버에 던져준 후에 받는 시간동안 멈춰서서 응답을 기다리는게 아니라

바로 다음줄을 실행시켜버리는 방식이 기본이죠.


근데 기다렸다가 순차적으로 실행해야될 때가 있습니다.

팝업을 열고.. 팝업창안에서 ajax로 페이지를 3개를 각각 불러온 후에 창크기를 조절해서 스크롤바를 없애는 작업을 한다고 했을때 이 작업이 필요했었는데요.

settimeout같은것으로 대충 3초를 주고 한다는것은 찝찝합니다. 해외에서 접속할수도 있구요.

좀더 스마트한 방법은 async (default: true)  이 옵션을 사용하는것입니다.



$.ajax({

type: "post",

url: 'proc.html',

async: false, //동기 방식

success: function(data,status){

if(id) $("#"+id).html(data);

},

fail: function(){

alert('중대한 오류가 발생했습니다.!!');

},

complete: function(){

ajax_loading_bar("off");//로딩바 off

}

});