Javascript 使用CORS,但对我毫无帮助
我真的研究了几个小时,但还没有找到任何解决办法。我想通过Javascript 使用CORS,但对我毫无帮助,javascript,php,jquery,ajax,google-chrome,Javascript,Php,Jquery,Ajax,Google Chrome,我真的研究了几个小时,但还没有找到任何解决办法。我想通过jQuery和ajax从不同的服务器获取一些数据。我在chrome控制台中收到以下错误消息: 无法加载XMLHttpRequest。不 “Access Control Allow Origin”标头出现在请求的服务器上 资源。因此,不允许使用源“” 通道响应的HTTP状态代码为401 这是我的设置: PHPStorm 2016.1 jQuery v3.2.1 谷歌浏览器 软呢帽25 这是我已经尝试过的,但仍然会出现相同的错误: 启动
jQuery
和ajax
从不同的服务器获取一些数据。我在chrome控制台中收到以下错误消息:
无法加载XMLHttpRequest。不
“Access Control Allow Origin”标头出现在请求的服务器上
资源。因此,不允许使用源“”
通道响应的HTTP状态代码为401
这是我的设置:
- PHPStorm 2016.1
- jQuery v3.2.1
- 谷歌浏览器
- 软呢帽25
- 启动Chrome时使用
--禁用web安全性
- 已安装Chrome扩展
允许控制允许原点:
- 安装了Chrome扩展
并添加了类似功能 推荐JetBrainsJetBrains IDE支持
http://*/*
PS:此工具仅适用于我,因此它不会也永远不会安装在与我的PHPStorm环境不同的web服务器上对于chrome,除了--禁用web安全性之外,还要添加另一个参数: --用户数据目录 这是谷歌在后期引入的
此外,要使其正常工作,请确保关闭所有Chrome实例,然后打开其中包含参数的实例。它只在第一个标签打开时才起作用。它会有一个黄色条,说明您正在使用不安全的选项卡。CORS的问题是每个浏览器都需要不同的解决方案。到目前为止,在统一CORS之前最好使用jsonp。您需要将此头添加到“json”文件中。在你的例子中:
如果您希望将其投入生产,那么您应该真正使用服务器上的头文件,而不是所有这些插件。服务器头就是问题所在。确保将脚本的该部分放在应用程序的顶部。这里有一个非常棒的答案:php头应该起作用,也许你把它们放错地方了?你确定你的请求得到这个标题吗?这是GET请求吗?你有没有检查chrome开发者工具中的“响应”部分是怎么说的?不幸的是,API使用的是json,而不是jsonpI。它会检查允许使用哪些方法,可能会设置它们,以及凭据如何。也许你可以发布你的Ajax脚本。我无法控制我得到的json文件,这是我正在使用的一个API。是的,但是这个API必须设置这个标题,这就是它的工作方式。谢谢你,这现在帮助了我!如果我决定公开我的webapp,我当然会像大家解释的那样设置一个能够处理cor的web服务器。但就目前而言,quciksolution帮助了我,就像你说的:)
<?php header('Access-Control-Allow-Origin: *'); ?>
Header add Access-Control-Allow-Origin "*"