2014-12-20 30 views
1

我正在开发一个简单的Angular应用程序,我希望从我在Laravel创建的API获得我的后端数据。 API正在发回数据。但是因为我正在分别开发我的Angular应用程序,所以当我在Angular中使用服务来获取我的资源时出现错误。使用barryvdh/laravel-cors软件包在laravel中启用CORS?

错误

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包这是应该解决这个问题,但我不知道如何使用它。该包的cofig文件如下所示:

'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。

+1

您的API前缀为“api /”吗? –

回答

0

我遇到了类似于EmberJS而不是Angular的东西。 Laravel设置看起来正确,但我认为你需要在Angular中启用CORS支持。

从Chrome开发者教程:

对内容安全策略

不像许多其他JS MVC框架的单词, 角V1.1.0 +不需要调整到内的工作严格的CSP。它 只是工作,开箱即用!

但是,如果您使用v1.0.1 和v1.1.0之间的旧版Angular,则需要让Angular以“内容安全 ”模式运行。这是由包括ngCsp指令一起ngApp完成:

<html data-ng-app data-ng-csp>

你可以找到整篇文章here

相关问题