반응형
var globalVar = "0";
a();
b();
function a(){
            $.ajax({
                type: "POST",
                url: "a.aspx/FunctionName",
                data: "{'_work_code':'" + _work_code + "','_regdate':'" + _reg_date + "'}", 
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    var _rst = msg.d;
                    globalVar = "2";
                }
            });
}
function b(){
            globalVar = "1";
}


 
위와 같이 선언된 jQuery함수에서 자바스크릅트의 전역변수를 선언하면
Post로값을 넘겨서인건지(정확히는 모름)  전달에 지연된다.
a()가 먼저 호출되었음에도 불구하고 globalVar의 값은 2가 아닌 1로 정의 되버린다.
이를 막기위해 한가지를 추가해줘야한다.

 $.ajax({
                type: "POST",
                url: "a.aspx/FunctionName",
                async:false, 
                data: "{'_work_code':'" + _work_code + "','_regdate':'" + _reg_date + "'}", 
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    var _rst = msg.d;
                    globalVar = "2";
                }
            });

강조된 부분을 추가해주면 자바스크립트의 전역변수가 제대로 전달된다. 

+ Recent posts