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