반응형
var globalVar = "0";
a();
b();
function a(){
$.ajax({
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";
Post로값을 넘겨서인건지(정확히는 모름) 전달에 지연된다.
a()가 먼저 호출되었음에도 불구하고 globalVar의 값은 2가 아닌 1로 정의 되버린다.
이를 막기위해 한가지를 추가해줘야한다.
$.ajax({
}
function b(){
globalVar = "1";
}
위와 같이 선언된 jQuery함수에서 자바스크릅트의 전역변수를 선언하면 Post로값을 넘겨서인건지(정확히는 모름) 전달에 지연된다.
a()가 먼저 호출되었음에도 불구하고 globalVar의 값은 2가 아닌 1로 정의 되버린다.
이를 막기위해 한가지를 추가해줘야한다.
$.ajax({
type: "POST",
url: "a.aspx/FunctionName",
async:false,
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";
}
});
강조된 부분을 추가해주면 자바스크립트의 전역변수가 제대로 전달된다.
강조된 부분을 추가해주면 자바스크립트의 전역변수가 제대로 전달된다.