Как включить CORS на nodejs Express Redirect? - PullRequest
0 голосов
/ 14 декабря 2018

Я использую nodejs express в качестве моего API в серверной части.Интересно, как включить CORS для метода redirect.

Ниже приведен мой код экспресс-перенаправления:

res.redirect(redirectUrl);

, когда клиент отправляет запрос в вышеуказанный API, он перенаправляет запрос на * 1007.* но я получаю ошибку ниже:

    Access to XMLHttpRequest at 'https://s3-ap-southeast-
2.amazonaws.com/index.html' (redirected from 
'http://localhost:9090/v0/api') from origin 'http://localhost:9090' 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.

интерфейс работает под http://localhost:9090, и домен фронтэнда был добавлен на CORS в корзине s3.Работает нормально, если я отправлю запрос на https://s3-ap-southeast-2.amazonaws.com/index.html прямо из браузера.Так что я думаю, что проблема в nodejs express redirect методе.Как включить CORS для перенаправления?

Я знаю, как включить CORS, но моя проблема связана с redirect.Как я могу заставить перенаправление работать?

1 Ответ

0 голосов
/ 14 декабря 2018

Правила CORS применяются к одному и тому же имени хоста и также привязаны к одному и тому же порту.Таким образом, если у вас есть HTML-файл с JavaScript, который подается из http://localhost:3001, он не сможет загружать вещи из http://localhost:3000.

, чтобы в точности это произошло, и чтобы ваш код на стороне клиента был отделен отваш сервер и просто заставьте его загружать данные, например, с такими фреймворками, как Angular, Ember, Backbone, или же вы можете использовать следующую функцию промежуточного программного обеспечения в экспрессе, прежде чем определять свои маршруты:

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...