예를 들어 $.getJSON을 이용하여 학생명단을 반환하는 함수 A()가 있을경우, A함수를 호출하게 되면 A에서는 Null값을 반환하게 된다.

이유는 $.getJSON을 이용하여 학생명단을 가지고 오는동안 프로그램이 멈춰있는것이 아니라 $.getJSON을 실행만 시켜놓고 다음 명령어를 계속 진행하게 된다. 따라서 이를 기다리게 하는 방법을 찾아야 한다.

$.getJSON() 은 기본적으로 $.ajax설정에서 'async'가 true값으로 되어 있다. 따라서 이를 false로 바꿔주면 위의 문제는 해결된다.

$.ajaxSetup({
        async: false
});

* 아래는 ajaxSetup에서의 async 설명원문(http://api.jquery.com/jQuery.ajax/)
asyncBoolean
Default: true

By default, all requests are sent asynchronous (i.e. this is set to true by default). If you need synchronous requests, set this option to false. Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.


블로그 이미지

2010년1월어느날..

,


일단 자바스크립트 부분에 넣어둔다.

<body>
</body>
바디부분엔 div를 하나 만든다.

getData('주소','Div이름')
주소부분으로 값을 넘겨준다. (ex. 'aaa.php?n=3&b=99')
이렇게 처리된 값은 'Div이름'안에 innerHTML로 들어가게 된다.
사이트이동없이 하나의 사이트에서 동적인 행위를 할수있는것이다.
참고로 리턴되는 값은, 처리되는 주소(ex. aaa.php?n=3&b=99)의 소스가 몽땅 와버린다.
따라서 원하는 값만 얻고자할땐 쓸데없이 <html>같은 태그는 처리되는 파일(aaa.php)에 넣지않는다.
블로그 이미지

2010년1월어느날..

,