У меня проблема с Laravel CORS. Я установил комплект barryvdh/laravel-cors со следующим файлом конфигурации:
'supportsCredentials' => false,
'allowedOrigins' => ['*'],
'allowedOriginsPatterns' => [],
'allowedHeaders' => ['*'],
'allowedMethods' => ['PUT', 'GET', 'OPTIONS', 'POST', 'DELETE'],
'exposedHeaders' => [],
'maxAge' => 0,
Я даже добавил следующие строки в свой файл AppServiceProfider.php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Authorization,Content-Type,X-Requested-With,X-CSRF-TOKEN');
header('Access-Control-Allow-Methods: POST,GET,PUT,OPTIONS,DELETE');
И я все еще не могу сделать запрос PUT в Firefox. Я получаю ошибку «Same Origin Policy» - метод не найден в заголовке CORS «Access-Control-Allow-Methods».
Что странно: как видите, я установил заголовок Allow-Methods на POST,GET,PUT,OPTIONS,DELETE, но каждый браузер говорит, что он установлен на *:
Access-Control-Allow-Headers: Authorization,Content-Type,X-Requested-With,X-CSRF-TOKEN
Access-Control-Allow-Methods:*
Access-Control-Allow-Origin: *
Что еще более странно - когда я делаю тот же запрос в Postman, заголовки выглядят нормально:
access-control-allow-headers →Authorization,Content-Type,X-Requested-With,XCSRF-TOKEN
access-control-allow-methods →POST,GET,PUT,OPTIONS,DELETE
Что случилось? Отличается ли Laravel обработкой предполетных запросов?






У меня была такая же проблема, я решил ее, установив заголовки в файле .htaccess как
<IfModule mod_rewrite.c>
#...... other settings here
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header set Access-Control-Max-Age "1000"
Header set Access-Control-Allow-Headers "access_token, x-requested-with, Content-Type, Accept-Encoding, Accept-Language, Cookie, Referer"
</IfModule>
Вы можете отредактировать .htaccess, чтобы не использовать какую-либо библиотеку