>웹 프론트엔드 >JS 튜토리얼 >비동기 AJAX 호출에서 변수 반환 값을 올바르게 처리하려면 어떻게 해야 합니까?

비동기 AJAX 호출에서 변수 반환 값을 올바르게 처리하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-27 22:46:11967검색

How Can I Correctly Handle Variable Return Values from Asynchronous AJAX Calls?

비동기 AJAX 호출 및 변수 반환 값

AJAX를 사용하여 비동기 요청을 수행하는 경우 변수 반환 값이 작동하는 방식을 이해하는 것이 중요합니다. 설명된 시나리오에서는 별도의 JavaScript 파일에 있는 함수가 AJAX 호출을 수행하지만 반환된 값이 올바르게 설정되지 않습니다.

문제 설명

get_data 함수 별도의 JavaScript 파일에서 AJAX 요청을 수행하고 서버에서 받은 데이터를 반환하는 것을 목표로 합니다. 그러나 AJAX 호출은 비동기식이므로 이 접근 방식은 작동하지 않습니다.

설명

비동기 AJAX 호출은 실행을 계속하기 전에 응답이 반환될 때까지 기다리지 않습니다. 호출 기능 중. 이 경우 AJAX 요청이 완료되기 전에 get_data 함수가 반환되어 빈 테스트 변수가 생성됩니다.

해결책

이 문제를 해결하려면 다음을 처리해야 합니다. AJAX의 비동기적 특성. 이는 AJAX 요청이 완료되고 데이터를 사용할 수 있을 때 실행되는 get_data 함수에 콜백 함수를 제공하여 수행할 수 있습니다.

업데이트된 코드는 다음과 같습니다.

function get_data(data, destination, callback) {

    if (lock_get == 0) {
        lock_get = 1;
        $.ajax({
            type: "POST",
            url: destination,
            async: true,
            data: data,
            success: function(data) {
                lock_get = 0;
                if (data && callback) {
                    callback(data);
                }
            }
        });
    }
}

사용법

업데이트된 함수 get_data는 콜백 함수를 세 번째로 호출해야 합니다. 인수:

get_data(data, destination, function(test){
    notice(test);
});

콜백 함수를 사용하면 이제 AJAX 요청 결과가 제공될 때 코드에서 이를 처리할 수 있습니다.

위 내용은 비동기 AJAX 호출에서 변수 반환 값을 올바르게 처리하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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