Chrome CORS по-прежнему блокирует API, даже если мои CORS включены на сервере. Я прочитал официальную документацию, чтобы включить CORS. Мой бэкэнд написан на Nest.js, а интерфейс — на Ionic/Angular.
Помимо официальных документов, я пробовал различные другие решения, предложенные пользователями, такие как параметры настройки, но ни одно из них не работает.
Вызовы API отлично работают при использовании postman.
Вот код сервера:
const app = await NestFactory.create(AppModule);
const options = {
origin: '*',
headers: '*',
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
preflightContinue: true,
optionsSuccessStatus: 204,
credentials: true,
};
app.enableCors(options);
await app.listen(3000);
Вот http-вызов:
this.http.post(`${this.config.serverAddress}/api/auth/login`,{'username': 'test', 'password': 'password'})
.subscribe(d=>{
console.log(d);
})
и, наконец, вот сообщение об ошибке Chrome:
zone-evergreen.js:2952 Access to XMLHttpRequest at 'localhost:3000/api/auth/login' from origin 'http://localhost:8100' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.