Php 标题(';访问控制允许原点:';);不允许CORS请求

Php 标题(';访问控制允许原点:';);不允许CORS请求,php,cors,Php,Cors,我有一个生成JSON文档的PHP文件 我已经按如下方式设置了标题,但仍然得到一个错误 header('Access-Control-Allow-Origin: *'); header('Content-Type: application/json'); 错误消息: 请求的资源上不存在“Access Control Allow Origin”头。起源'https://mysubdomain.mydomain.com因此,不允许访问。 我已经尝试过明确允许mysubdomain.mydomain.

我有一个生成JSON文档的PHP文件

我已经按如下方式设置了
标题
,但仍然得到一个错误

header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
错误消息:

请求的资源上不存在“Access Control Allow Origin”头。起源'https://mysubdomain.mydomain.com因此,不允许访问。

我已经尝试过明确允许mysubdomain.mydomain.com使用

header('Access-Control-Allow-Origin: https://mysubdomain.mydomain.com');

但是我仍然得到了错误。

设置标头的代码似乎没有任何问题,但是您可能需要检查是否确实设置了标头。使用
curl-ihttp://yourapp
检查发送的响应头以进行调试。或者,您可以使用Google Chrome的web inspector中的网络选项卡,或者Firefox的web开发者工具中的网络工具

当请求的页面出现错误时,可能会出现这种情况。在这种情况下,错误页面会设置标题,这些标题可能没有Access Control Allow Origin标题。

使用htaccess file,您可以尝试设置:

Header always set Access-Control-Allow-Methods "POST, GET, PUT, OPTIONS, PATCH,DELETE"
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Credentials "true"
Header always set Access-Control-Allow-Headers "content-type,Authorization,Cache-Control,X-Requested-With, X-XSRF-TOKEN"
或者可以将php用作:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, PUT, OPTIONS, PATCH, DELETE');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Allow-Headers: Authorization, Content-Type, x-xsrf-token, x_csrftoken, Cache-Control, X-Requested-With');

当您发出请求时,是否在您的Chrome浏览器的网络检查器的网络选项卡中获取标题?还是使用curl命令行?谢谢,通过从命令行使用curl,我能够诊断问题。实际上是PHP代码中的一个错误导致了这些问题。不客气。始终记得首先检查和调试输出:)。我已经把我的评论作为一个答案,这样你就可以接受它并结束这个问题。我面临着同样的问题。没有得到任何有用的网络工具。但是,在进行curl调用时,它显示
访问控制允许原点: