JQuery 를 사용하다 보면 자바스크립트의 전역변수에 데이타를 할당 하고 싶어진다.
기본 ajax 를 사용하게 되면 데이타 할당이 시간차이 발생된다.
ajax() 의 속성중에 async 라는 속성이 있는데 기본 속성값은 true 이다.
이럴경우 비동기적으로 데이타를 전송하고 처리하기 때문에 자바스크립의 전역변수 할당에 있어 시간차(지연)이 생기게 된다.
자바스크립트 전역변수에 데이타를 할당하고 바로 사용하기 원할경우 async : false 로 설정해야 한다.
참고로 JQuery 관련 URL 첨부한다.
http://api.jquery.com/jQuery.ajax/
<script type="text/javascript" src="/js/jquery-1.3.2.js"></script>
<a href='javascript:Proc();'>클릭!</a>
<a href="javascript:Set_Default('111', '222');">클릭!</a>
<script langauge='javascript'>
var test;
function Proc(){
var data1 = 2;
var data2 = 3;
Set_Default(data1, data2);
alert(test);
}
function Set_Default(data1, data2){
var url = "http://192.168.1.197:8080/common/login.asp";
$.ajax({
type: "POST",
url: url,
async : false,
data: "data1="+data1+"&data2="+data2,
success: function(msg){
Set_Default_Return(msg);
}
});
}
function Set_Default_Return(data){
test = data;
//alert(test);
}
</script>