>웹 프론트엔드 >JS 튜토리얼 >.ajax() 블록 외부에서 jQuery AJAX 성공 콜백 함수를 정의하는 방법은 무엇입니까?

.ajax() 블록 외부에서 jQuery AJAX 성공 콜백 함수를 정의하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-18 19:23:29333검색

How to Define jQuery AJAX Success Callback Function Outside of .ajax() Block?

.ajax() 블록 외부의 jQuery AJAX 성공 콜백 함수 정의

jQuery에서는 $. 아약스() 메소드. 일반적으로 성공 콜백 함수는 .ajax() 블록 내에 정의됩니다. 그러나 블록 외부에서 콜백을 정의하는 것은 가능합니다.

.ajax() 블록 외부에서 콜백 함수 정의

성공 콜백을 .ajax() 블록 외부에서 정의하려면 . ajax() 블록의 경우 다음과 같이 $.ajax()의 결과를 반환해야 합니다.

<code class="javascript">function getData() {
    return $.ajax({
        url: 'example.com',
        type: 'GET'
    });
}</code>

그런 다음 .done() 메서드를 사용하여 .ajax() 호출 외부에 콜백을 추가할 수 있습니다. :

<code class="javascript">getData().done(handleData);</code>

데이터 처리

handleData 함수는 다음과 같이 정의할 수 있습니다.

<code class="javascript">function handleData(data) {
    alert(data);
    // Do other stuff
}</code>

handleData 함수에 전달된 데이터 서버에서 반환된 데이터입니다.

.ajax() 블록 외부에서 콜백을 정의할 때의 이점

.ajax() 블록 외부에서 콜백을 정의하면 다음과 같은 이점을 얻을 수 있습니다. 이점:

  • AJAX 처리와 콜백 처리를 분리합니다.
  • 여러 콜백, 오류 처리기 등을 추가할 수 있습니다.
  • 여러 비동기 이벤트를 더 쉽게 동기화할 수 있습니다.

다음 코드는 이 기술을 사용하는 방법을 보여줍니다.

<code class="javascript">// A trivial timer for demo purposes
var timer = $.Deferred();
setTimeout(timer.resolve, 5000);

// Add a `done` and an `error` handler to the AJAX call
var ajax = getData().done(handleData).fail(error);

// Wait for both the AJAX call and the timer to finish
$.when(timer, ajax).done(function() {
    // Both operations have finished
});

// Add an additional `done` handler to the AJAX call
ajax.done(function() {
    // Can be added even if the AJAX call has already finished
});</code>

이 기술은 후속 작업에서 AJAX 기능을 분리하고 여러 비동기 작업을 동기화하는 데 유용할 수 있습니다.

위 내용은 .ajax() 블록 외부에서 jQuery AJAX 성공 콜백 함수를 정의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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