@Herr_Shmulke

Почему не получается отправить POST запрос через Axios?

Сервер:
const corsConfig = {
  origin: `http://${host}`,
  optionsSuccessStatus: 200,
  credentials: true,
};

route.post('/login', cors(corsConfig), async (req, res) => {
...
}

Использую модуль cors. До этого устанавливал header самостоятельно, с помощью
res.set('Access-Control-Allow-Origin', `http://${host}`);

Клиентская часть:
this.$axios.post(
          '/login',
          {
            mail: this.email,
            pass: this.password,
            remember: this.remember,
            reToken: token,
          },
          { withCredentials: true },
        );

В итоге получаю error в консоли: Access to XMLHttpRequest at 'api.localhost/login' from origin 'localhost' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Весь день гуглю проблему, решить не получается.
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
В переменной host на сервере должен быть localhost, чтоб так работало, а не хост сервера (или что там у Вас).

Origin можно чекать динамически, если Вас опрашивают более 1 хоста:
https://github.com/expressjs/cors#configuring-cors...

А еще можно передать туда RegExp или массив строк/RegExp:
https://github.com/expressjs/cors#configuration-options
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы