jquery 변수 변경 값 동기 화 되 지 않 음

1816 단어 jquery
문제 코드
var unc = 0;
$.get(
  'index.php',
  'data=1',
  function(res)
  {
       unc=1;
  }
);

alert(nuc);

 
이렇게 되면 ajax 가 성공 적 으로 돌아 오 든 안 돌아 오 든 전역 변수 unc 는 변 하지 않 습 니 다.
 
왜 이런 상황 이 벌 어 졌 을 까?
정 답: ajax 는 비동기 작업 입 니 다.
해결 방법:
 아래 코드 추가
async:false

 
$.ajax({
     type:'get',
     url:'index.php?act=check_email&email=' + $('#email_reg').val(),
     async:false,
     success:function(response){
       if (response.error==0) {
            unc = 1;    
              }
         },
     dataType:'json'
 });

 
이상 의 방법 은 ajax 의 동기 호출 입 니 다. data 값 을 가 져 오고 result 에 값 을 부여 한 후에 야 result 로 돌아 가 이 방법의 호출 을 완성 할 수 있 습 니 다.
async: true 로 설정 하면 data 값 을 가 져 올 때 까지 기다 리 지 않 고 result 로 돌아 갑 니 다.
 
다음으로 이동: http://www.linzl.com/archives/324.html

좋은 웹페이지 즐겨찾기