Angular 5 - GET方法在添加标题后作为OPTIONS发送

时间:2018-02-05 21:24:21

标签: angular http get http-headers

您好,

我的HTTP请求有问题。是否有可能帮助我了解正在发生的事情?

当我发送GET请求时,它将作为选项发送:

let headers = new HttpHeaders();

headers = headers.set('Content-Type', 'application/json; charset=utf-8')
​.set('Authorization','bearer ' + this.auth.getUserToken());

 this.http.get(SERVER.URL_PROD + API.VERSION + API.GET_USERS, {headers: headers}).subscribe((res: any) => {
  console.log(res);
});

在我的chrome dev工具调试中,我看到以下内容:

Request Method: OPTIONS

Status Code: 405 Method Not Allowed

1 个答案:

答案 0 :(得分:5)

像大卫说的那样,你遇到了一个CORS问题。特别是当您使用浏览器时,浏览器会向api / backend发送OPTIONS请求,说明我可以在发送GET之前获得此请求。如果对OPTIONS的回复为“否”(例如您的405),则会阻止您执行GET

为了解决这个问题,您正在使用的后端需要实现CORS并允许它支持的各种HTTP METHODS