Внешний клиент размещен по адресу https://project -front.herokuapp.com .он вызывает API-интерфейс, размещенный по адресу https://project -api.herokuapp.com / (это не фактические URL-адреса).Всякий раз, когда я делаю вызов API, я получаю
Access to XMLHttpRequest at 'https://project-api.herokuapp.com/login' from origin 'https://project-front.herokuapp.com' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'https://project-api.herokuapp.com/' that is not equal to the supplied origin.
и
Cross-Origin Read Blocking (CORB) blocked cross-origin response https://appli-api.herokuapp.com/login with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.
Очевидно, что это проблема CORS.Мой server.js имеет
app.use(cors())
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", '*');
res.header("Access-Control-Allow-Credentials", true);
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header("Access-Control-Allow-Headers", 'Origin,X-Requested-With,Content-Type,Accept,content-type,application/json');
next();
});
, и каждый из файлов маршрутизатора, содержащий мои файлы маршрутов, также имеет
// parse application/x-www-form-urlencoded
router.use(bodyParser.json()); // support json encoded bodies
router.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
Следует также отметить, что мой .gitignore включает node_modules
в порядкедля bcrypt поработать над герокой.Как мне сдать CORS?