Ajax跨域变量

时间:2012-04-25 13:21:13

标签: javascript jquery 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":"john.smith@johnsmith.com"});

1 个答案:

答案 0 :(得分:1)

你需要研究JSONP。同时使用库来处理请求将有助于指数级,结帐jQuery或Extjs。这是一个blog post,可以帮助你。