Angular 8-httpClient Get方法转换为Options方法

问题描述 投票:0回答:1

我正在尝试将Get请求发送到我的服务器(Microsoft 2012)。我已经添加了this solution。但这是解决方案,我的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方法发送请求?

angular typescript angular8
1个回答
0
投票

是的,每当您从浏览器调用任何API时,它都会调用OPTIONS来检查API是否真正可调用或服务器可以按照指定的条件处理请求。

如果在您的情况下,选项调用使您成功,那么浏览器必须使用GET方法类型调用实际的API。

如果不使用GET方法类型进行调用,则标题可能会发送更多或更少的消息。

这种类型的请求可与Postman或fiddler或API测试工具配合使用,但会导致浏览器出现问题。

我建议如果有任何拦截器尝试注释标头,然后再测试此API,则应首先检查标头。

希望如此对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.