Laravel Angular CORS выпуск - PullRequest
       4

Laravel Angular CORS выпуск

0 голосов
/ 30 августа 2018

Я искал высоко и низко и пробовал несколько решений, но я не смог понять это. Я работаю локально (MAMP).

У меня есть два локальных сервера, внешний сервер Angular и сервер Laravel для обработки запросов и CRUD-данных обратно в Angular.

Извлечение данных с сервера Laravel не является проблемой, когда я пытаюсь выполнить операции «Создать», «Обновить» или «Удалить» для обновления сервера, я получаю сообщение об ошибке CORS (причина: отсутствует заголовок CORS «Access-Control-Allow-Origin») , В моем файле .htaccess установлены следующие директивы:

Header add Access-Control-Allow-Origin: *

Header add Access-Control-Allow-Methods: GET,POST,OPTIONS,DELETE,PUT

Header add Access-Control-Allow-Headers: Content-Type

Я пытался реализовать эти решения, чтобы добавить ответ заголовка CORS для Laravel в мой проект, но я до сих пор не добился успеха:

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

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

Я надеюсь, что кто-то сталкивался с подобной проблемой и может помочь.

Ответы [ 3 ]

0 голосов
/ 31 августа 2018

Это ошибка, которая возникает на стороне клиента, поскольку сервер не ответил с правильным значением CORS. Файл .htaccess выглядит нормально, но попробуйте в своем бэкэнде Laravel добавить заголовок с помощью PHP. Подробнее здесь .

return response(...)
  ->header('Access-Control-Allow-Origin', '*')
  ->header('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE');

Если вам это нужно для всех конечных точек, рассмотрите возможность использования промежуточного программного обеспечения.

Редактировать: Я думаю, что проблема также может быть в ваших Allow-заголовках. Попробуйте добавить источник к разрешенным заголовкам

->header('Access-Control-Allow-Headers', 'origin, x-requested-with')
0 голосов
/ 16 октября 2018

Я, должно быть, испортил реализацию пакета BarryVDH CORS, потому что после ссоры он разрешит ситуацию.

0 голосов
/ 30 августа 2018

Это конфигурация barryvdh cors, которая должна позволять вам разрешать все

'supportsCredentials' => true,
'allowedOrigins' => ['*'],
'allowedHeaders' => ['*'],
'allowedMethods' => ['*'], // ex: ['GET', 'POST', 'PUT',  'DELETE']
'exposedHeaders' => ['*'],
'maxAge' => 0,

Также проверьте ответ вашего сервера в разделе сети Chrome Dev Tools. Убедитесь, что заголовки настроены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...