$ .post를 사용하여 데이터를 검색하고 리턴 유형으로 저장하려고합니다. 그러나, 나는 항상 정의되지 않은 오류가 발생합니다.포스트 아약스의 리턴 데이터가 작동하지 않습니다.
내가 뭔가를 할 경우 :
function get_list(){
$.post('php/reverse.php', function(data){
alert(data);
});
}
모든 것을 완벽하게 작동합니다. 하지만 내가 뭔가를한다면
function get_list(){
$.post('php/reverse.php', function(data){
return data;
});
}
alert(get_list());
갑자기 나에게 정의되지 않은 오류가 발생합니다. 누군가 내가 뭘 잘못하고 있는지 말할 수 있습니까?
function get_image_list(handler){
$.post('php/reverse.php', function(data){
handler(data);
});
}
get_image_list(function(data){alert(data);});
범위를 고려하십시오. 익명의 함수가 데이터를 반환한다고 말하고 있지만이 포스트 호출을 포함하는 함수는 아무 것도 반환하지 않습니다. –
어떻게 해결할 수 있습니까? – kuwame
익명 콜백 함수가 실행되기 전에 get_list 함수가 반환된다는 점을 고려하십시오. 'get_list' 함수는 실행 중에'return' 명령문에 결코 도달하지 않기 때문에 undefined를 반환합니다. 'return data' 문은 콜백 함수 안에 있고'get_list' 함수의 일부로 실행되지 않습니다. 콜백 함수는 비동기 POST 요청이 완료된 후에 실행되지만 호출하는 코드는 반환하는 내용을 신경 쓰지 않습니다. – tcovo