'Access-Control-Allow-Origin' между Ionic и Laravel

В настоящее время я создаю ионное приложение, используя структуру laravel для веб-сайта. Проблема в следующем: я получил

No 'Access-Control-Allow-Origin' header is present on the requested resource.

когда я пытаюсь получить файл json из своего API. Я видел, что это проблема с заголовком, и мне нужно авторизовать Access-Control-Allow-Origin. И я сделал это Доступ-Контроль-Разрешить-Происхождение: *

Когда я обновляю свою страницу, я вижу с помощью меню F12 в Chrome:

Response headers
Access-Control-Allow-Origin: *

Значит, доступ разрешен. Но когда я пытаюсь перейти по ссылке

mywebsite.com/api

из приложения у меня все еще ошибка На запрошенном ресурсе отсутствует заголовок Access-Control-Allow-Origin.

Если некоторые специалисты знают, как решить эту проблему.

Отметьте этот пакет: github.com/barryvdh/laravel-cors

Kenny Horna 13.08.2018 15:54

@HCK Я уже пробовал это и все еще делаю ту же проблему

Sebastien Kerroue 13.08.2018 16:10

Вы правильно настроили или просто установили?

Kenny Horna 13.08.2018 16:39

Я правильно настроил, но проблема обнаружена. Это была проблема с моим .htaccess. Все равно спасибо !

Sebastien Kerroue 13.08.2018 16:59

Рад, что ты нашел решение. PS: Попробуйте поделиться им в разделе ответов, он будет полезен и другим людям;) Хорошего дня.

Kenny Horna 13.08.2018 17:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
5
449
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я выкладываю свое решение, если кто-то находится в таком же деле, как и я. Проблема возникла из-за .htaccess, у меня были логин и пароль для доступа к домену, и он заблокировал ионное приложение, просто деактивируйте их (другие решения не работают).

Я нашел этот ответ от @asamarcos (https://github.com/barryvdh/laravel-cors/issues/243):

Вы должны зарегистрировать HandleCors на Kernel.php, как указано в руководстве laravel-cors. Это добавит cors во все маршруты под промежуточным программным обеспечением api.

    'api' => [
        'throttle:60,1',
        'bindings',
        \Barryvdh\Cors\HandleCors::class,
    ],

Проблема в том, что у Passport есть собственные маршруты вне промежуточного программного обеспечения API. Таким образом, вы должны установить свои паспортные маршруты на AuthServiceProvider, явно указав HandleCors в качестве промежуточного программного обеспечения:

public function boot()
{
    $this->registerPolicies();

    Passport::routes(null, ['middleware' => [ \Barryvdh\Cors\HandleCors::class ]]);
}

Другие вопросы по теме