Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从另一个域访问json文件_Javascript_Jquery_Cross Browser_Cross Domain_Jsonp - Fatal编程技术网

Javascript 从另一个域访问json文件

Javascript 从另一个域访问json文件,javascript,jquery,cross-browser,cross-domain,jsonp,Javascript,Jquery,Cross Browser,Cross Domain,Jsonp,我有两个网站: www.siteone.com www.sitetwo.com 现在,我必须通过脚本从www.sitetwo.com 由于我必须获取特定的数据,所以我将变量从www.siteone.com传递到www.sitetwo.com,如下所示: //script in www.siteone.com <script type="text/javascript"> $(document).ready(function(){ window.$vars

我有两个网站:

www.siteone.com 
www.sitetwo.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>
在这里,脚本正确地接收到我从siteone传递到Site2的值“id”。但由于跨域,我无法打开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由于以下原因,standarts不允许您从其他域加载json。使用

您可以从服务器端脚本发送额外的头

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

jsonp就是答案。您需要找到一种方法将jsonp与
dform
ajax调用一起使用。dform是该页面中加载的另一个脚本的函数。在这种情况下,我们如何有效地使用jsonp?我没有使用该dform脚本。使用jQueryAjax,您可以通过将数据类型设置为jsonp来轻松使用jsonp。可能的重复包括配置服务器。但是我们不能在脚本中直接使用这个头吗??
header("Access-Control-Allow-Origin: http://www.sitetwo.com");