chat.openChat()
에 chat.getHtmlPage()
에서 HTML 코드를 수신하고 싶지만 반환 작업은 "정의되지 않음"입니다.자바 스크립트에서 오류가 발생했습니다.
var chat = {
openChat : function($url){
$('#popup').html(chat.getHtmlPage($url)); // It's wrong, UNDEFINED.
},
getHtmlPage : function($url){
$.ajax({
url: $url
}).done(function($html) {
return $html; // It's OK! $html is with correct html, see with alert().
});
}
}
$(document).ready(function(){
$('.btnChat').click(function(){
chat.openChat($(this).attr('href')); // It's OK!
...
return false;
});
});
AJAX는 비동기입니다. 반환 값을 얻으려면 완료 요청을 기다려야합니다. 그대로, 콜백 함수를 포함하는 반환하지 않습니다 : 콜백에서 반환, 아무것도하지. 커스텀 AJAX 함수가 일단 필요한 데이터를 가지고 있으면 자신의 콜백을 호출하여 호출하도록해야한다. –