반응형


Ajax 순서대로 처리


ajax는 비동기식이기때문에 자바스크립트가 순서대로 실행되면서 중간에 실행되면 순서대로 결과값이 나오는것이 아니라

ajax는 따로 처리되고 자바스크립트는 ajax의 결과를 기다리지 않고 실행된다.

하지만 ajax의 처리 결과가 필요하다면 순서에 맞게 하는 방법이 있다. 

async속성을 이용하면 ajax함수 실행을 기다리고 다음 소스코드를 읽게된다.

async속성의 기본값은 true이다.


아래의 코드를 보면 'test5'라는 alert가 나오고 

async속성을 주지않았다면 기본값이 true로 들어가서 서버에서 처리되는게 늦어진다면 'test'라는 alert가 나온다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function testFn(){
    var rs = 'test';
    $.ajax({
        url : 'test.do',
        type:"POST",
        async:false,
        data:{test_data:'test_data'},
        dataType:"json",
        success:function(data){
            if(data!=null){
                rs = 'test5';
            }
        }
    });
    alert(rs); 
}
cs


반응형

+ Recent posts