問題描述
XMLHttpRequest 無法加載 http://myapi/api/rating.對預檢請求的響應未通過訪問控制檢查:請求的資源上不存在Access-Control-Allow-Origin"標頭.Origin 'http://localhost:8104' 因此不允許訪問.響應的 HTTP 狀態代碼為 403.
XMLHttpRequest cannot load http://myapi/api/rating. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8104' is therefore not allowed access. The response had HTTP status code 403.
我不明白為什么我不能發出 CORS 請求.我已經在這里安裝了中間件,將它添加到全局http內核中,但它仍然不起作用.嘗試根據 stackoverflow 建議創建自定義中間件,但這也不起作用.還嘗試添加一個路由組.最后,我嘗試在請求操作中手動設置響應標頭.我真的被困住了 - 感謝幫助!
I can't figure out why I can't make CORS requests. I've install the middleware here, added it to the global http kernel, but it still doesn't work. Tried to create a custom middleware given stackoverflow suggestions but that also did not work. Also tried adding a Route group. Lastly, I tried setting the response headers manually in the request action. I'm really stuck - help is appreciated!
查看代碼:https://gist.github.com/KerryRitter/0d7ababb7b9eb8d54f0ae55
推薦答案
如果你使用的是 Laravel 5.5
&Laravel 5.x
并面臨同樣的問題,如請求的資源上不存在Access-Control-Allow-Origin"標頭
.只需使用以下軟件包并配置您的系統.
If you are using Laravel 5.5
& Laravel 5.x
and facing same problem like No 'Access-Control-Allow-Origin' header is present on the requested resource
. Just use following package and config your system.
第 1 步:
composer require barryvdh/laravel-cors
第 2 步
您還需要將 CorsServiceProvider
添加到您的 config/app.php
providers 數組:
You also need to add CorsServiceProvider
to your config/app.php
providers array:
FruitCakeCorsCorsServiceProvider::class,
要允許所有路由使用 CORS
,請在 app/Http/Kernel 的
類:$middleware
屬性中添加 HandleCors
中間件.php
To allow CORS
for all your routes, add the HandleCors
middleware in the $middleware
property of app/Http/Kernel.php
class:
供全球使用:
protected $middleware = [
// ...
FruitcakeCorsHandleCors::class,
];
中間件用途:
protected $middlewareGroups = [
'web' => [
// ...
],
'api' => [
// ...
FruitcakeCorsHandleCors::class,
],
];
第三步
安裝完成后,運行以下命令以發布供應商文件.
Once your installation completed run below command to publish the vendor files.
php artisan vendor:publish --provider="FruitcakeCorsServiceProvider"
希望這個回答能幫助和我一樣面臨同樣問題的人.
Hope this answer helps someone facing the same problem as myself.
這篇關于沒有“Access-Control-Allow-Origin"標頭 - Laravel的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!