【发布时间】:2012-11-08 17:17:33
【问题描述】:
我正在开发一个使用 jQuery 从远程服务器读取 JSON 文件的 Web 客户端。而且我无法让它工作。
代码:
jQuery.getJSON('http://[remote-ip]/openbeacon/test.json', updateJsonCallback);
错误:
XMLHttpRequest 无法加载 http://[remote-ip]/openbeacon/test.json。
Access-Control-Allow-Origin 不允许来源 http://[remote-ip]。
我已经阅读了整个 Access-Control-Allow-Origin 的内容,并认为我找到了解决方案:将 'Header set Access-Control-Allow-Origin "*"' 添加到 Apache 配置文件 (httpd. conf) 并重新启动服务。不幸的是,这不起作用。
我检查了标题:现在确实显示了选项 - 但 Chrome 仍然不允许我访问。我什至将标题与远程工作的 json 文件的标题进行了比较:
http://api.openbeacon.net/get/brucon.json
HTTP/1.1 200 OK
Date: Tue, 20 Nov 2012 15:01:43 GMT
Server: Apache
Last-Modified: Tue, 20 Nov 2012 15:01:43 GMT
ETag: W/"d073949-154d-4ceee830cdae1"
Accept-Ranges: bytes
Content-Length: 5453
Access-Control-Allow-Origin: *
Connection: close
Content-Type: application/json; charset=utf-8
http://[remote-ip]/openbeacon/test.json
HTTP/1.1 200 OK
Date: Tue, 20 Nov 2012 15:01:41 GMT
Server: Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4 Perl/v5.10.1
Last-Modified: Tue, 20 Nov 2012 15:01:41 GMT
ETag: W/"2b8ab16-1e7-4ceee82edbf40"
Accept-Ranges: bytes
Content-Length: 487
Acces-Control-Allow-Origin: *
Connection: close
Content-Type: application/json
帮助?
【问题讨论】:
-
在您的第二个区块中,它显示
Acces-Control-Allow-Origin。你确定它在配置文件中的拼写正确吗? -
哇。你花了一分钟才找到那个?我猜他们不会白白叫你火箭:P
-
它只是出于某种原因在我眼中脱颖而出......
标签: javascript json cors