【发布时间】:2014-07-26 21:17:59
【问题描述】:
我正在使用loadGeoJson 尝试跨域加载数据。我知道我需要实施 CORS 以提供必要的许可。响应头需要包含以下声明:
Access-Control-Allow-Origin: *
我修改了 /etc/apache2 中的 apache2.conf 文件并添加了以下内容:
<ifModule mod_headers.c>
Header set Access-Control-Allow-Origin: *
</ifModule>
当我在 Firefox 中加载包含跨域脚本的页面时,一切正常,我可以看到 Access-Control-Allow-Origin 已设置:
当我在 Chrome 中加载同一页面时出现问题,我继续收到以下错误:
请求的资源上不存在“Access-Control-Allow-Origin”标头。
因此不允许访问源“http://results.ptax.ca”。
同一页面如何在 Firefox 中完美运行,但在 Chrome 中抛出错误?有什么想法我可能做错了吗?
【问题讨论】:
-
您能否提供一张 Chrome 中请求和响应标头的截图(类似于您在 JavaScript 中所做的)?另外,您能否使用 curl 重新创建 CORS 请求:stackoverflow.com/questions/12173990/…
-
嗨@monsur,我正在使用 CodeIgniter,出于某种原因,我配置了一个基本站点 URL,尽管这样做是可选的。删除此特定配置设置后,我不再收到
Access-Control-Allow-Origin的错误。 -
很高兴知道这一点。我很好奇,设置 Base Site URL 的代码是什么样的?
-
CodeIgniter 中的设置在 /application/config/config.php 中,就是这样:`$config['base_url'] = 'mydomain.ca'`
标签: javascript ajax google-chrome cors