Angular 5 HttpClient.put выполняет два запроса - PullRequest
0 голосов
/ 22 мая 2018

Я собираю PWA с Angular 5. И у меня проблемы с дублированным выполнением запросов PUT.Я также выполняю запросы POST и GET, но эта ошибка появляется только при PUT.

Это метод

put(url: string, data: string): Observable<any> {
  console.log('put');
  const options = {
    headers: new HttpHeaders({
      'Content-Type': 'text/xml'
    })
  };
  return this.http
    .put(url, data, options).map(resp => {
      console.log('put_output');
      return resp;
    });
}

. Он выполняет два запроса, когда этот метод выполняется только один раз.

Снимок экрана с вкладкой "Сеть": Network tab screenshot

Снимок экрана консоли: Console output screenshot

Я пытался запустить простой XMLHttpRequest иэто было прекрасно: один запрос, один ответ.

1 Ответ

0 голосов
/ 22 мая 2018

Первый запрос - это Предварительно выданный запрос , это нормально, и некоторые разработчики называют его «Рукопожатие с сервером» .

Из DOCS:

«предварительно выданные» запросы сначала отправляют HTTP-запрос методом OPTIONS на ресурс в другом домене, чтобы определить, безопасен ли фактический запрос для отправки.Межсайтовые запросы предварительно просматриваются следующим образом, поскольку они могут иметь последствия для пользовательских данных.

Вы также можете проверить проблему здесь .

...