2012-04-25 82 views
0

我想從外部域使用ajax獲得變量,然後用數據創建預填充表單域,但我似乎無法讓它工作。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 2012-04-25 13:26:02

回答

1

您需要查看JSONP。另外使用一個庫來處理請求將有助於以指數方式檢出jQuery或Extjs。繼承人blog post,應該給你一個手。