2016-08-23 5 views
1

새 jsp에서 div 콘텐츠를 새로 고치기 위해 ajax 호출을 사용하고 있습니다. 거기에는 비동기 적으로 호출하는 일부 태그가 있는데, 이는 호출을 통해 작동하지 않는 이유입니다. (태그가 작동하지 않습니다). 표시하는 동안 어떻게 동기화합니까?새 콘텐츠에 대한 ajax 호출 후 동기식으로 자바 스크립트 호출

제 생각은 document.write (code)입니다. 그러나 그것은 운동하지 않습니다. 어떤 몸이라도이 문제에 대한 해결책을 제시 할 수 있습니까?

+0

당신은 몇 가지 코드를 표시하거나 더 나은 설명해야 성공할 때 위와 유사한 결과를 제공해야하지만, 서버 호출이 실패 할 경우 오류 메시지를 기록 , 당신은 "함수를 호출합니다"... 그래서 코드가 의미를 명확하게합니다 - ps Netscape 1.0 용 코드를 작성하지 않는 한'document.write'를 사용하지 마십시오. –

답변

1

document.write()은 Ajax 콜백 또는 비동기 콜백에서 사용할 수 없습니다. 초기 페이지로드 중에 만 사용할 수 있습니다. 페이지가로드 된 후 (예 : Ajax 콜백에서) document.write()으로 전화하면 데이터를 쓰기 전에 전체 페이지 내용을 지울 것입니다.

jQuery를 사용하는 경우 load() 메서드는 서버에서 데이터를 가져와 페이지의 요소에 삽입하는 쉬운 방법입니다. the load() documentation에서 예 :

$("#result").load("ajax/test.html"); 

서버에서 ajax/test.html 페이지를 다운로드하고 그 idresult을하는 요소로 내용을 삽입 할 것이다.

load()the $.ajax() function 주위의 편리한 래퍼입니다. 더 많은 옵션, 오류 처리 및 기타 사항에 대해서는 아래 예제와 같이 $.ajax()으로 직접 전화 할 수 있습니다. 당신이 자바 스크립트에없는 "전화 태그"를 할 -

$.ajax({ 
    url: "ajax/test.html" 
}) 
.done(function(html) { 
    $("#result").html(html); 
}) 
.fail(function(jqXHR, textStatus) { 
    $("#result").html("Request failed: " + textStatus); 
}); 
관련 문제