>웹 프론트엔드 >JS 튜토리얼 >Ajax 요청에서 async:false와 async:true의 차이점은 무엇입니까?

Ajax 요청에서 async:false와 async:true의 차이점은 무엇입니까?

php中世界最好的语言
php中世界最好的语言원래의
2018-04-02 15:20:361783검색

이번에는 Ajax 요청에서 async:false와 async:true의 차이점을 알려드리겠습니다. Ajax 요청에서 async:false와 async:true를 사용할 때의 주의사항은 무엇입니까? 봐.

예제는 다음과 같습니다.

function test(){
  var temp="00";
  $.ajax({
    async: false,
    type : "GET",
    url : 'userL_checkPhone.do',
    complete: function(msg){
      alert('complete');
    },
    success : function(data) {
      alert('success');
      temp=data;
      temp="aa";
    }
  });
  alert(temp);
  }

UserLAction checkPhone() method

  public void checkPhone() throws IOException {
    this.getServletResponse().setContentType("text/html; charset=UTF-8");
    this.getServletResponse().setHeader("Cache-Control", "no-cache");
    PrintWriter out = this.getServletResponse().getWriter();
    out.print("true");
  }

async: false, (기본값은 true);

async: false가 동기화되는 경우, 이 테스트에서는() method Ajax 요청은 전체 브라우저를 잠급니다.

userL_checkPhone.do 실행이 완료된 후에만 다른작업을 수행할 수 있습니다.

따라서 실행 결과는 첫 번째입니다. 하지만 문제가 있습니다. test()의 ajax 요청과 후속 작업이 비동기적으로 실행되므로 userL_checkPhone.do가 아직 실행되지 않은 경우 ajax 요청 이후의 작업이 실행되었을 수 있으므로

결과가 경고입니다. ('성공'); 경고('완료'); 경고("00");

이렇게 하면 경고("성공")와 경고(임시)가 거의 동시에 실행되는 것을 알 수 있습니다. 초기화된 값 temp = "00", 대신 temp="aa";

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사에 주목하세요. !

추천 자료:

Ajax+mysql을 사용하여 메시지 보드 기능 만들기


ajax로 데이터 페이징 쿼리를 구현하는 단계에 대한 자세한 설명

위 내용은 Ajax 요청에서 async:false와 async:true의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.