2015-07-04 107 views
3

我一直在試圖理解這一段時間,只是無法得到它!意外的訪問訪問控制 - 允許源頭錯誤

我也跟着教程(https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps),但不是把角的/公共文件夾中,我創建了一個外部客戶端。

使用MAMP PRO,我把API的地址是http://www.jotbot.local,客戶端的地址是http://www.jotclient.local。當我嘗試登錄,它得到這個錯誤:

XMLHttpRequest cannot load http://www.jotbot.local/api/authenticate. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.jotclient.local' is therefore not allowed access. 

在Laravel的CORS配置我:

return [ 
    'supportsCredentials' => false, 
    'allowedOrigins' => ['*'], 
    'allowedHeaders' => ['*'], 
    'allowedMethods' => ['GET', 'POST', 'PUT', 'DELETE'], 
    'exposedHeaders' => ['*'], 
    'maxAge' => 0, 
    'hosts' => [], 
]; 

我不知道該怎麼改變。是'allowedOrigins'=> ['*']行還是'hosts'=> []行需要更改?

此外,客戶端(在我的真實應用程序中)將被公開訪問,並且每當他處理時都會給予客戶端,這意味着我不知道我需要允許的域名,所以我需要某種通配符,所以我真的很困惑,對CORS包文檔是很難找到(或我不知道我在尋找...... LOL)

感謝您的幫助,您可以提供。

+0

你是否檢查過你的頭文件將開發者工具或類似郵遞員的東西? – Graham

回答

2

我遵循同樣的教程,並面臨着同樣的問題。

您必須添加CORS的Laravel 5.1。

按照第安裝的步驟,它會正常工作。

https://github.com/barryvdh/laravel-cors

要求的barryvdh/laravel-CORS包在你的composer.json並更新你的依賴。

$ composer require barryvdh/laravel-cors 0.7.x 

的ServiceProvider添加一個Cors \到你的config/app.php提供商陣列:

Barryvdh\Cors\ServiceProvider::class, 

在您routes.php文件文件添加中間件

Route::group(['prefix' => 'api','middleware' => 'cors'], function() 

或者

Route::group(['middleware' => 'cors'], function() 
+0

感謝它的運作。做得好! –

相關問題