从另一个域访问json文件

时间:2013-08-21 11:01:52

标签: javascript jquery cross-browser cross-domain jsonp

我有两个网站:

www.siteone.com 
www.sitetwo.com

现在,我必须通过www.siteone.com脚本获取数据,在www.sitetwo.com中显示数据 由于我必须获取特定数据,因此我将变量从www.siteone.com传递到www.sitetwo.com,如下所示:

 //script in www.siteone.com
<script type="text/javascript">
    $(document).ready(function(){
        window.$vars = {
            id:"form"
        };
</script>

www.sitetwo.com中,我有以下脚本:

//script in www.sitetwo.com
<script type="text/javascript">
 var k = window.$vars.id;
$("#form").dform("http://www.sitetwo.com/"+k+'.json', function(data) {

          this
          data

        });
</script>

这里,脚本正确地接收了我从siteone传递到站点2的值“id”。但由于crossdomain,我无法打开form.json文件。抛出以下错误:

XMLHttpRequest cannot load http://www.sitetwo.com/form.json. Origin http://www.siteone.com is not allowed by Access-Control-Allow-Origin.

如何从www.siteone.com

访问form.json

2 个答案:

答案 0 :(得分:1)

你可以从服务器端脚本发送一个额外的标题。

header("Access-Control-Allow-Origin: http://www.sitetwo.com");

Access-Control-Allow-Origin Multiple Origin Domains?

答案 1 :(得分:0)

浏览器标准版不允许您因same-origin policy而从其他域加载JSON。使用JSONP