> 웹 프론트엔드 > JS 튜토리얼 > 비동기 AJAX 호출의 반환 값에 어떻게 액세스할 수 있습니까?

비동기 AJAX 호출의 반환 값에 어떻게 액세스할 수 있습니까?

DDD
풀어 주다: 2024-11-25 08:20:10
원래의
543명이 탐색했습니다.

How Can I Access the Return Value of an Asynchronous AJAX Call?

비동기 AJAX 호출 및 변수 반환

프레임워크 코드를 별도의 파일로 나누는 과정에서 반환이 발생하는 문제가 발생했습니다. AJAX를 통해 호출된 함수의 값에 액세스할 수 없습니다. 이러한 혼란은 AJAX 호출의 비동기적 특성에서 비롯됩니다.

AJAX 호출: 비동기성 설명

AJAX(Asynchronous JavaScript and XML) 함수는 비동기적으로 작동합니다. 이는 AJAX 요청이 이루어질 때 요청을 수행하는 함수가 실행을 계속하기 전에 응답이 완료될 때까지 기다리지 않음을 의미합니다. 이를 통해 AJAX 요청이 진행되는 동안 프로그램의 다른 부분이 계속해서 병렬로 실행될 수 있습니다.

함수 반환 및 AJAX

get_data 함수의 경우, 성공 콜백 함수 내의 return 문은 함수가 호출될 때 즉시 실행되지 않습니다. 대신 AJAX 요청이 완료되고 응답이 수신된 경우에만 실행됩니다.

해결책: 콜백 사용

이 문제를 해결하려면 다음을 제공해야 합니다. get_data 함수에 대한 콜백 함수. 이 콜백은 AJAX 요청이 완료되고 응답 데이터를 사용할 수 있을 때 실행됩니다. 수정된 코드는 다음과 같습니다.

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(data, destination, function (test) {
  notice(test);
});
로그인 후 복사

이 방법으로 응답 데이터는 내에서 처리될 수 있습니다. AJAX 요청이 완료되면 콜백 함수.

위 내용은 비동기 AJAX 호출의 반환 값에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿