【发布时间】:2015-02-19 02:18:20
【问题描述】:
我正在开发一个简单的 Angular 应用程序,我希望我的后端数据来自我在 Laravel 中创建的 API。 API 发送回数据就好了。但是由于我是单独开发我的 Angular 应用程序,所以当我在 Angular 中使用服务来获取我的资源时出现错误。
错误
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:8001/airports. This can be fixed by moving the resource to the same domain or enabling CORS.
所以现在我在 Laravel 中安装了一个包,它应该可以解决这个问题,但我不知道如何使用它。包的配置文件如下所示:
'defaults' => array(
'supportsCredentials' => false,
'allowedOrigins' => array(),
'allowedHeaders' => array(),
'allowedMethods' => array(),
'exposedHeaders' => array(),
'maxAge' => 0,
'hosts' => array(),
),
'paths' => array(
'api/*' => array(
'allowedOrigins' => array('*'),
'allowedHeaders' => array('*'),
'allowedMethods' => array('*'),
'maxAge' => 3600,
),
'*' => array(
'allowedOrigins' => array('*'),
'allowedHeaders' => array('Content-Type'),
'allowedMethods' => array('POST', 'PUT', 'GET', 'DELETE'),
'maxAge' => 3600,
'hosts' => array('api.*'),
),
),
我仍然遇到同样的错误。现在我必须改变什么才能允许 CORS?
注意:我安装了 WAMP。我正在同一个本地服务器上开发我的 Angular 应用程序和 Laravel API。
【问题讨论】:
-
您的 API 是否以“api/”为前缀?