jQuery/JSON API使用PHP代理脚本绕过相同的源策略
我正在尝试编写一个jQuery脚本,它可以从我无权访问的服务器读取JSON文件。 我的两个脚本是PHP代理脚本:jQuery/JSON API使用PHP代理脚本绕过相同的源策略,php,jquery,json,proxy,cross-domain-policy,Php,Jquery,Json,Proxy,Cross Domain Policy,我正在尝试编写一个jQuery脚本,它可以从我无权访问的服务器读取JSON文件。 我的两个脚本是PHP代理脚本: <?php $content=file_get_contents($_GET['http://fixyourstreet.ie/api?task=incidents&by=catname&name=Litter%20and%20Illegal%20Dumping']); echo $content; ?> 我不明白为什么即使在我编写了一个PHP代理脚
<?php
$content=file_get_contents($_GET['http://fixyourstreet.ie/api?task=incidents&by=catname&name=Litter%20and%20Illegal%20Dumping']);
echo $content;
?>
我不明白为什么即使在我编写了一个PHP代理脚本之后,仍然会出现控件允许源代码错误
任何帮助都将不胜感激 在rest服务中,在返回响应之前,通过设置*,
将名为访问控制允许来源
的头参数设置为地址
或公共file:///C:/xampp/htdocs/json/proxy.php -显然,您使用文件系统中的jQuery打开了该文件,而chrome无法使用,可能还有其他浏览器。您需要webserver来执行proxy.php
解决方案:访问http://localhost/json/
在您的浏览器中。标题(“访问控制允许原点:”;干得好!非常感谢你到底在哪里做这个?请原谅我的无知,但“在您的rest服务中,在返回响应之前设置一个名为…”的头参数”对我来说是不明确的。我在服务器端使用$.getJSON()。@rexbelia,rest服务就是在服务器端编写的。
<script>
$.getJSON( "proxy.php", function() {
console.log( "success" );
});
</script>
>1 OPTIONS file:///C:/xampp/htdocs/json/proxy.php Origin null is not allowed by Access-Control-Allow-Origin. jquery-1.9.1.js:8526
>2 XMLHttpRequest cannot load file:///C:/xampp/htdocs/json/proxy.php. Origin null is not allowed by Access-Control-Allow-Origin.