2012-04-25 3 views
0

아약스를 사용하여 외부 도메인에서 변수를 가져온 다음 데이터로 미리 채워진 양식 필드를 만들려고 시도하지만 작동하지 않습니다.Ajax 교차 도메인 변수

JavaScript에 대한 약간의 멍청한 질문입니다.하지만 어리석은 일이지만 나는 왜 작동하지 않는지 알 수 없습니다.

<html> 
<head> 
<script type="text/javascript"> 
    function xss_ajax(url) { 
     var script_id = null; 
     var script = document.createElement('script'); 
     script.setAttribute('type', 'text/javascript'); 
     script.setAttribute('src', url); 
     script.setAttribute('id', 'script_id'); 

     script_id = document.getElementById('script_id'); 
     if(script_id){ 
      document.getElementsByTagName('head')[0].removeChild(script_id); 
     } 

     // Insert <script> into DOM 
     document.getElementsByTagName('head')[0].appendChild(script); 
    } 

    function callback(data) { 

    var counter = 1; 
    var limit = 3; 
    var txt = ''; 

    for(var key in data) { 

      var newdiv = document.createElement('div'); 
      newdiv.innerHTML = "Entry " + (counter + 1) + " <br><input type='text' name='myInputs[]' value=" + data[key] +">"; 
      document.getElementById(divName).appendChild(newdiv); 
      counter++; 
; 
     } 
    } 

    var url = "http://myserver.com/test.php"; 

</script> 
<title></title> 
</head> 
<body> 
<button onclick="xss_ajax(url);">Get Data</button> 
</body> 
</html> 

외부 도메인의 스크립트.

callback({"firstname":"John", "lastname":"Smith", "email":"[email protected]"}); 
+0

작동하지 않는 기능은 무엇입니까? 오류, 어떤 브라우저? – epascarello

답변

1

JSONP를 조사해야합니다. 또한 요청을 처리하기 위해 라이브러리를 사용하면 기하 급수적으로 도움이되며 jQuery 또는 Extjs를 체크 아웃 할 수 있습니다. 너에게 손을 줘야 할 blog post이있다.