HEAD请求以角度触发预检请求

时间:2019-03-14 11:24:53

标签: angular cors angular-httpclient preflight

据我所知,HEAD请求应该很简单,并且不会触发飞行前请求。

import { HttpClient } from '@angular/common/http';

constructor(private _http: HttpClient) {}

validateYoutubeId(id): Observable<boolean> {
  return this._http.head(`https://www.youtube.com/watch?v=wMXU27Xl8eU`).pipe(
      map((res: any) => {
        console.log(res);
        return true;
      }),
      catchError<any, Observable<boolean>>(err => {
        console.log(err);
        return of(false);
      })
      );
    }

上面的代码是一个简单的head请求,但仍会触发预检请求并导致cors错误。我猜想HttpClient会自动添加som不安全的标头,但我似乎无法弄清楚哪些标头以及如何防止添加标头。

  

跨源读取阻止(CORB)阻止了跨源响应   https://www.youtube.com/watch?v=wMXU27Xl8eU,MIME类型为text / html。   在访问XMLHttpRequest   原产地的“ https://www.youtube.com/watch?v=wMXU27Xl8eU”   “ http://localhost:36545”已被CORS政策禁止:否   请求中存在“ Access-Control-Allow-Origin”标头   资源。

编辑 实际上,事实证明没有进行飞行前请求。头请求的响应被阻止。

0 个答案:

没有答案