2013-07-29 3 views
0

예 기능 : 일반 HTML 웹 페이지에서 호출 할 때AJAX 요청에서 반환 된 코드에서 함수를 호출하는 방법은 무엇입니까?

function myFunction() { 
    alert("Test"); 
} 

myFunction(); 

이 잘 실행됩니다. 그러나 이것이 AJAX 호출에서 반환 된 innerHTML 콘텐츠의 일부인 경우 myFunction(); 함수 호출이 작동하지 않습니다. Ajax 요청이 완료되면

<span>AJAX Result</span> 
<script language="JavaScript">myFunction();</script> 

이 코드는 작동하지 않습니다 사업부 TestDiv의 내용이 AJAX와 innerHTML을 통해 변경되는 경우

는 예를 들어, 다음이 포함되어 있습니다. 이 문제를 어떻게 해결할 수 있습니까?

+2

우리는 도움이되지 수 없습니다 당신이 AJAX 응답을 처리하는 방법을 보여주십시오 – Ian

+0

가능한 중복 [jQuery : 아약스 응답의 스크립트 평가] (http://stackoverflow.com/questions/2158075/jquery-evaluate-script-in-ajax-response) – cmbuckley

+0

S cripts는'.innerHTML'과 함께 삽입 할 때 실행되지 않습니다. 명시 적으로 스크립트 노드를 만들어야합니다. jQuery의'.load()'메소드를 사용하면, 이것을 처리 할 것이다. – Barmar

답변

1

ajax 요청의 성공 메소드에서 함수를 호출하십시오. 당신이 HTML5를 사용하는 경우

$.ajax({ 
    url: 'your url', 
    data: { data: data}, 
    success: function(data) { 
     // Your function 
     myFunction(); 
    } 
}); 

가 BTW, 유형은 스크립트 태그에 더 이상 필요하지됩니다

<script></script> 

그렇지 않으면 당신이하지 않으면

<script type="text/javascript"></script> 
+0

AJAX 요청은 HTML 출력도 반환합니다. "innerHTML"내용과 인수 "data"를 모두 반환 할 수 있습니까? – reformed

+0

innerHTML은 데이터가 될 것입니다, 당신은 그냥 구문 분석하고 div에 추가하거나 조작 할 수 있습니다. –

관련 문제