Angular 7: Ответ на запрос предполетной проверки не проходит проверку контроля доступа: в запрошенном заголовке «Access-Control-Allow-Origin» нет - PullRequest
1 голос
/ 17 апреля 2019

Я должен реализовать угловое приложение с операциями CURD.API уже размещен в AWS, который отлично работает с почтальоном.

Но мое угловое приложение получает

Доступ к XMLHttpRequest по адресу https://acp56df5alc.execute -api.us-east- 1.amazonaws.com / ams / getmember 'from origin' http://localhost:4200' заблокировано политикой CORS: Ответ на предпечатный запрос не проходит проверку контроля доступа: No 'Access-Control-AllowЗаголовок -Origin 'присутствует на запрашиваемом ресурсе.

Мой код похож на ниже,

http_GET(actionUrl: string): Observable<any> {
        const httpOptions = {
            headers: new HttpHeaders({
                'Content-Type': 'application/json',
                'Access-Control-Allow-Origin': '*',
                'Access-Control-Allow-Credentials': 'true',
                'Access-Control-Allow-Headers': 'Content-Type',
                'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE',
                'key': 'x-api-key',
                'value': 'NNctr6Tjrw9794gFXf3fi6zWBZ78j6Gv3UCb3y0x',

            })
        };
        return this.http.get<any>(this.baseUrl + actionUrl, httpOptions).pipe(
            (response => {
                return response;
            }));
    }

Я очень старался решить эту проблему. Но нужна помощь

1 Ответ

2 голосов
/ 17 апреля 2019

Все / Большинство этих заголовков должны быть определены на стороне сервера (независимо от того, где размещен API на AWS) ... не на стороне клиента.

 headers: new HttpHeaders({
                'Content-Type': 'application/json',
                'Access-Control-Allow-Origin': '*',
                'Access-Control-Allow-Credentials': 'true',
                'Access-Control-Allow-Headers': 'Content-Type',
                'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE',
                'key': 'x-api-key',
                'value': 'NNctr6Tjrw9794gFXf3fi6zWBZ78j6Gv3UCb3y0x',
  ...

Наиболее вероятная причина того, что почтальон работает, заключается в том, что он напрямую отправляет запрос GET. то, что вы отправляете, является сложным запросом, который называется «предполетным» и который вызывает запрос «ОПЦИИ» перед фактическим GET. это не разрешено удаленной стороной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...