Angular 8 - метод Get httpClient преобразуется в метод Options - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь отправить запрос на получение на мой сервер (Microsoft 2012). Я уже добавил это решение . Но в этом и состоит решение моего запроса get, преобразованного в метод Options.

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type': 'application/vnd.sas.datamgmt.jobflow.metadata+json; charset=utf-8',
    'Authorization': 'Basic' + btoa('username:password')
  })
};

Я также добавил:

    httpOptions.headers.set('username', 'password');
    httpOptions.headers.append('Access-Control-Allow-Origin', '*');
    httpOptions.headers.append('Access-Control-Allow-Credentials', 'true');
    httpOptions.headers.append('Access-Control-Allow-Methods', 'GET,POST,OPTIONS');
    this.typesOfDBs = this.http.get<Info[]>(this.ROOT_URL, httpOptions);

Я посмотрел мой запрос и увидел, что запрос теперь является запросом опций. Как я могу обработать это и отправить запрос как метод Get?

Ответы [ 2 ]

1 голос
/ 09 ноября 2019

Да, верно, всякий раз, когда вы вызываете какой-либо API из браузера, он вызывает OPTIONS для проверки того, что API действительно вызывается, или сервер может обработать запрос с указанными критериями.

Если в вашем случае вызовите параметрыдает успех, тогда браузер должен вызвать фактический API с типом метода GET.

Если не вызывать с типом метода GET, то могут быть проблемы с заголовками, которые могут отправлять больше или меньше.

Этот тип запросов прекрасно работает с инструментами тестирования Postman, fiddler или API, но создает проблемы с браузерами.

Я бы предложил сначала проверить заголовки, если какой-либо перехватчик попытается прокомментировать, а затем протестировать этот API.

Надеюсь, это поможет вам.

0 голосов
/ 09 ноября 2019

Это просто проблема CORS, вам нужно установить заголовки, которые вы указали на стороне сервера, а не на стороне клиента, делающего запрос

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