비동기 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!