>  기사  >  웹 프론트엔드  >  동기식 ajax와 비동기식 ajax의 차이점은 무엇입니까? Ajax 동기화와 비동기식의 차이점 소개

동기식 ajax와 비동기식 ajax의 차이점은 무엇입니까? Ajax 동기화와 비동기식의 차이점 소개

不言
不言원래의
2018-10-11 10:42:0719716검색

Ajax의 경우 Ajax는 주로 프런트엔드 페이지에서 서버 백엔드에 데이터를 요청하는 데 사용된다는 점을 알아야 합니다. Ajax는 두 가지 실행 방법, 즉 동기(async = false)와 비동기(async = true)로 구분됩니다. 그렇다면 Ajax의 동기식 요청 방식과 비동기식 요청 방식의 차이점은 무엇인가요? 이 기사에서는 자세한 분석을 제공합니다. Ajax의 동기 실행과 비동기 실행의 차이점.

먼저 Ajax 동기 요청과 비동기 요청이 무엇인지 살펴보겠습니다.

ajax 비동기 요청:

비동기 요청은 요청이 진행되는 동안 브라우저가 요청을 보내는 동안 페이지 로딩과 사용자 작업에 영향을 주지 않는다는 것을 의미합니다. 두 줄로 나누어서 서로 영향을 주지 않고 각자의 길을 가는 것입니다. 일반 기본값은 true입니다. 비동기식 요청은 사용자 경험에 전혀 영향을 미치지 않습니다. 요청이 길거나 짧더라도 사용자는 페이지의 다른 콘텐츠를 작업하는 데 집중하고 있으며 기다리고 싶지 않습니다.

예:

$.ajax({  
     type:"POST", 
     url:"Venue.aspx?act=init", 
      dataType:"html", 
     success:function(result){  //function1()
       f1(); 
       f2();  
    } 
     failure:function (result) {  
      alert('Failed');  
     }, 
 } 
 function2();

설명: 위 코드에서 ajax 블록이 요청을 보낼 때 function1()에 머물면서 서버로부터의 반환을 기다리지만 동시에 (이 대기 프로세스 동안) , 프런트 데스크는 function2()를 실행합니다.

ajax 동기 요청:

동기 요청은 현재 요청이 발행된 후 후속 코드가 실행되기 전에 요청이 완료되고 데이터를 반환할 때까지 기다려야 함을 의미합니다. 즉, JS 코드가 현재 ajax에 로드되면 페이지의 모든 코드가 로드를 중지하고 페이지는 ajax가 실행된 후 일시 중지된 상태가 됩니다. 다른 코드는 계속 실행되고 페이지는 정지된 애니메이션 상태를 해제합니다(즉, ajax가 데이터를 반환하면 다음 함수가 실행됩니다).

예:

$.ajax({  
     type:"POST", 
     url:"Venue.aspx?act=init", 
     dataType:"html", 
     async: false,    success:function(result){  //function1()
       f1(); 
       f2(); 
     } 
    failure:function (result) {  
      alert('Failed');  
     }, 
 } 
 function2();

설명: 위 코드에서 asyn이 false로 설정되면 ajax 요청이 동기화됩니다. 즉, 이때 ajax 블록이 요청을 보낸 후 function1( ) 위치에 있으면 function1() 부분이 실행될 때까지 function2()가 실행되지 않습니다.

Ajax 동기 요청과 비동기 요청의 의미를 읽은 후 ajax 동기 요청과 비동기 요청의 차이점을 살펴보겠습니다.

Ajax 동기 요청과 비동기 요청의 차이점:

비동기 모드:

AJAX를 사용하여 요청을 보낸 후 실행해야 할 코드가 있을 수 있습니다. 현재로서는 여러 가지 이유로 인해 서버가 요청에 응답하지 않을 수 있지만 비동기 실행을 사용하기 때문에 AJAX 요청 코드가 포함된 모든 함수의 나머지 코드는 계속 실행됩니다. 처리를 위해 요청 결과를 다른 JS 함수에 넘겨주면 동시에 실행되는 두 개의 스레드와 같습니다.

동기 모드:

AJAX를 사용하여 요청을 보낸 후에도 나중에 실행해야 하는 코드가 남아 있습니다. 또한 처리를 위해 서버 응답을 다른 JS 함수에 넘겨주지만, 이때 코드 실행이 이루어집니다. time is: 서버가 응답하지 않거나 응답 결과를 처리하는 JS 함수가 반환을 처리하지 않은 경우 요청 코드가 포함된 함수의 나머지 코드를 실행할 수 없습니다. 단일 스레드와 마찬가지로 요청이 전송된 후 차단 상태에 들어가고 나머지 코드는 차단 상태에 도달할 때까지 계속 실행되지 않습니다.

위 내용은 이 글의 전체 내용입니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트를 팔로우하세요! ! !

위 내용은 동기식 ajax와 비동기식 ajax의 차이점은 무엇입니까? Ajax 동기화와 비동기식의 차이점 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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