>  기사  >  웹 프론트엔드  >  jquery ajax 요청 메서드를 실행하고 사용자에게 처리 중이라는 메시지를 표시하므로 잠시 기다려 주세요.

jquery ajax 요청 메서드를 실행하고 사용자에게 처리 중이라는 메시지를 표시하므로 잠시 기다려 주세요.

PHP中文网
PHP中文网원래의
2017-04-01 16:28:451666검색

사용자 환경 개선을 위해 일반적으로 "처리 중입니다. 잠시 기다려 주세요!"와 같은 메시지를 표시합니다. $.ajax() beforeSend()에서 매개변수를 설정하여

을 달성할 수 있습니다. $.ajax()를 사용할 때 이를 구별하지 않았습니다. 처음으로 Ajax의 비동기 요청과 동기 요청에는 차이가 있었습니다. 처음 동기 요청을 사용하기 시작했을 때는 나중에 특히 경험 측면에서 많은 문제가 나타났습니다.
비동기 및 동기:
동기화는 프로그램의 한 섹션이 실행되기 전에 다음 섹션이 실행될 수 있다는 것을 의미하며, 웹페이지에서 나타나는 현상은 다음과 같습니다. 브라우저가 페이지를 잠그면(즉, 페이지 일시 중지 상태 상태 ) 사용자는 다른 작업을 수행할 수 없으며 현재 요청이 데이터를 반환할 때까지 기다려야 합니다. 비동기 요청을 사용하면 페이지가 정지되지 않습니다.
사용자 경험 개선:
사용자가 데이터를 제출하고 페이지에서 결과가 반환될 때까지 기다리는 경우 일반적으로 사용자 경험을 개선하기 위해 이 대기 시간이 상대적으로 길어집니다. "처리 중입니다. 잠시 기다려 주세요!"라는 메시지가 표시됩니다. $.ajax()에서 beforeSend() 매개변수를 설정하여 이를 달성할 수 있습니다.
예:
html 키 코드

<p id="warning"></p>

js 파일의 키 코드

$.ajax(function(){
.
.
.
//省略了一些参数,这里只给出async 和 beforeSend
async: false, //同步请求,默认情况下是异步(true)
beforeSend: function(){
$(&#39;#warning&#39;).text(&#39;正在处理,请稍等!&#39;);
}
});

동기화에 따라 async: false를 설정하면 $('#warning').text('처리 중입니다. 기다려 주세요!'); $('#warning').text('Processing, please wait!'); 를 Alert('test'); 로 바꾸면 요청을 보내기 직전에 팝업 상자가 표시됩니다. 그러나 $('#warning').text('Processing, please wait!'); 와 같은 다른 것으로 변경하면 요청이 결과를 반환할 때 프롬프트가 표시되지 않습니다. 이 문제에 대해 오랫동안 궁금했는데, 아직도 무엇이 문제인지 모르겠습니다.
동기식 요청을 비동기식 요청으로 변경하면 위의 문제가 즉시 해결됩니다.

beforeSend: function(){
$(&#39;#warning&#39;).text(&#39;正在处理,请稍等!&#39;);
}

위 내용은 jquery ajax 요청 방식과 처리 중 사용자에게 대기를 요청하는 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!

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