ajax 페이지에서 자바스크립트 함수 호출시키는 방법 문의합니다.
본문
ajax 페이지에서 자바스크립트 함수를 실행시키려는데 실행이 되지 않아 질문 올립니다.
실제 페이지에서 자바스크립트 함수를 정의해 놓고 ajax 페이지는 아래와 같이 정의해 놓았습니다.
<script>
refresh();
</script>
위 코드의 의도는 ajax 페이지가 실행되면 특정한 조건을 만족시킬 경우 자바스크립트를 호출하려는 목적입니다(스크립트 구문 위에 php 코드가 있는데 해당 코드는 생략하였습니다.)
그리고 ajax 페이지가 종료되면 innerHTML 로 해당 함수호출 구문을 특정 위치에 추가하게 해놓았습니다.
그런데 문제는 생각했던것처럼 함수가 실행되지는 않고 크롬으로 봤을 때 코드상에만 위 구문이 추가됩니다.
아마도 이미 페이지가 로딩된 상태에선 자바스크립트 함수 호출 구문이 출력되도 실행이 되지 않는 것 같은데..
ajax 페이지에서 특정한 조건을 거치고 해당 조건이 참 일경우 자바스크립트를 실행하기 위해선 어떠한 조치를 취해야 할까요..
조언 부탁드립니다.
ajax 호출 코드는 아래와 같습니다.
function refresh() {
$.ajax({
url: '/ajax.refresh.php',
dataType: 'html',
success:function(data) {
document.getElementById('content').innerHTML = data;
}
});
}
답변 2
답글 달고 다시 보니 코드가 조금 이상하네요
ajax 는 jquery 방식인데 코드는 ㅋㅋ
document.getElementById('content').innerHTML = data;
를 아래방식으로 바꾸시면 될겁니다.
$('#content').html() = data;
!-->!-->
ajax 로 불러온 코드가 javascript 인지 json 인지 text 인지 알수가 없으니
정석대로 하자면 ajax 로 가져온 값을 0인지 1인지 판단해서
해당 caller 쪽에서 refresh 를 호출하는게 정석입니다.
꼭 그렇게 하셔야 한다면 javascript 의 eval 로 실행시킬수는 있습니다.