angularjs + PHP应用程序中的CORS错误

Posted

技术标签:

【中文标题】angularjs + PHP应用程序中的CORS错误【英文标题】:CORS error in angularjs + PHP application 【发布时间】:2017-06-27 06:05:19 【问题描述】:

我正在开发 AngularJS 和 php 应用程序。当我尝试运行 index.html 页面时,它会抛出此错误,

MLHttpRequest 无法加载 http://...... 否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此,Origin 'http://localhost' 不允许访问。 响应的 HTTP 状态代码为 500。

在 LAMP 上工作。 我知道我需要包含头文件。但是我应该在哪里包含它?我应该将它包含在我定义数据库的 config.php 中吗?如果不是那在哪里??

【问题讨论】:

您可以在您的 php 代码中允许跨源请求。所以错误不会再次出现 怎么样? @SulthanAllaudeen 【参考方案1】:

您的 PHP headers 缺少 CORS 设置,请尝试添加以下内容:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, X-Request-With');
header('Access-Control-Allow-Credentials: true');

【讨论】:

工作谢谢。 @daan.desmedt 很高兴听到! :)【参考方案2】:

设置标题:

header('Access-Control-Allow-Origin: http://example.com', false);

【讨论】:

example.com 是否需要替换为 localhost 或我们的域名? 您要允许的域名

以上是关于angularjs + PHP应用程序中的CORS错误的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS 和 Silex 的 CORS 问题(PHP - Apache)

PHP(Yii2)AngularJS的CORS问题

chrome 中的 Angularjs 应用程序中的 CORS 错误访问 .NET Web Api

如何处理 Spring Boot、AngularJS 应用程序中的 CORS 错误?

AngularJS on Rails 中的 CORS 问题

使用 Django 和 CORS 的 AngularJS 应用程序中的 cookie 消失了