【发布时间】:2017-05-01 09:22:40
【问题描述】:
我真的研究了几个小时,但还没有找到任何解决方案。我想通过jQuery 和ajax 从不同的服务器获取一些数据。我在我的 chrome 控制台中收到此错误消息:
XMLHttpRequest 无法加载 https://editeddomain.com//somedata.json。不 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“http://localhost:63342” 使用权。响应的 HTTP 状态代码为 401。
这是我的设置:
- PHPStorm 2016.1
- jQuery v3.2.1
- 谷歌浏览器
- Fedora 25
这是我已经尝试过的,但我仍然得到同样的错误:
<?php header('Access-Control-Allow-Origin: *'); ?>- 使用
--disable-web-security启动 Chrome - 已安装 Chrome 扩展程序
Allow-Control-Allow-Origin: * - 安装了 Chrome 扩展程序
JetBrains IDE Support并添加了类似 JetBrains 推荐http://*/*
所以这些都没有帮助我,我仍然看到错误消息。
PS:这个工具只适合我,所以它不会也永远不会安装在与我的 PHPStorm 环境不同的网络服务器上
【问题讨论】:
-
如果您希望将其投入生产,您应该真正使用服务器上的标头而不是所有这些插件。服务器标头是问题所在。确保将脚本的那部分放在应用程序的顶部。这是一个非常棒的答案:stackoverflow.com/questions/8719276/cors-with-php-headers
-
php header 应该可以解决问题,也许你把它们放在错误的地方?你确定你的请求得到这个标题吗?是 GET 请求吗?您是否检查了 chrome 开发人员工具中的“响应”部分的内容?
标签: javascript php jquery ajax google-chrome