Ошибка подключения React и Yii2 — в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin»

Я перепробовал миллион различных примеров, которые нашел в Интернете.

Но я все равно не могу :(

Вот мой REST-контроллер:

<?
namespace app\controllers\admiral_api;

use yii\rest\Controller;

class MainPageController extends Controller {

    public function actionIndex() {
        return 'test';
    }

}
?>

Я понял, что мне нужно включить этот «Access-Control-Allow-Origin» через фильтр CORS на стороне сервера с помощью Yii2. И это все еще не работает, независимо от того, что я пробовал.

Есть ли у вас примеры, которые работают для вас в этой ситуации? Спасибо!

Отвечает ли это на ваш вопрос? Заголовок CORS 'Access-Control-Allow-OrigCross-Origin Request Blocked yii2

Heretic Monkey 11.12.2020 14:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
1
174
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Вам нужно добавить Origin в метод поведения контроллера.

public function behaviors() {
        return [
            'corsFilter' => [
                'class' => \yii\filters\Cors::className(),
                'cors' => [
                    // restrict access to
                    'Origin' => (YII_ENV_PROD) ? [''] : ['http://localhost:3000', 'http://your.store.com'],
                    // Allow only POST and PUT methods
                    'Access-Control-Request-Method' => ['GET', 'HEAD', 'POST', 'PUT'],
                    // Allow only headers 'X-Wsse'
                    'Access-Control-Request-Headers' => ['X-Wsse', 'Content-Type'],
                    // Allow credentials (cookies, authorization headers, etc.) to be exposed to the browser
                    'Access-Control-Allow-Credentials' => true,
                    // Allow OPTIONS caching
                    'Access-Control-Max-Age' => 3600,
                    // Allow the X-Pagination-Current-Page header to be exposed to the browser.
                    'Access-Control-Expose-Headers' => ['X-Pagination-Current-Page'],
                ],
            ],
        ];
    }

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