저는 jQuery와 Ajax와 관련하여 다소 혼란 스럽습니다.
스크립트 시작 :
$(document).ready(function() {
var page = 'index';
displayContent(page)
});
displayContent는 텍스트 내용을 가져 와서 '#textCotnent'DIV로를 밀어하는 AJAX 호출이 포함되어 있습니다.
함수 I alert ($ ('# textContent'). text()) 내에서 텍스트를 올바르게 경고합니다.
function displayContent(page) {
$.ajax(//ajax stuff goes here and works fine);
alert($('#textContent').text()) //alerts the text, hooray.
}
그러나, 다음 작업을 수행 할 경우 :
$(document).ready(function() {
var page = 'index';
displayContent(page)
alert($('#textContent').text()); //alerts a blank box, boo.
});
텍스트가 아약스 호출 당 표시되지만 경고가 null를 나타납니다.
$ ('# textContent')는 스크립트에서 어디에서 호출했는지에 관계없이 괜찮을 것이라고 추측 하겠지만,이 경우는 아닙니다.
jQuery에 대해 이해할 수없는 내용은 무엇입니까?
Ajax 콜백을'displayContent' 안에 넣으면 alert ($ ('# textContent'). text())'를 넣지 않겠습니까? 대부분 jQuery 문제가 아니지만 응답이 반환되기 전에 'alert'을 호출하고 있습니다. –
다시 확인하겠습니다. 하지만 제 질문은 같습니다. 왜 중요할까요? –
jQuery/javascript가 비동기 적으로 실행되므로 원하는 동작을 수행 할 수 있도록 콜백을 사용해야합니다. –