Angular HttpClient 简单 GET 发送预检选项。我如何强制我的 GET 保持简单请求?

标签 angular http cors http-headers

如标题所述,我想发出一个没有预检选项的简单 GET 请求,因为服务器不会以“Access-Control-Allow-Origin” header 响应,而且我无法更改这些服务器设置.

我的代码相当简单:

export interface HttpOptions {
  headers?: HttpHeaders;
  params?: HttpParams;
  observe?: 'body';
}

private getProfileDetails() {

  const httpOptions: HttpOptions = {
    headers: new HttpHeaders({
      'Content-Type': 'text/plain'
    }),
    params: new HttpParams()
      .set('service', 'http%3A%2F%2Flocalhost%3A4200')
      .append('ticket', this.currentTicket)
      };

  this.http.get('https://server.address/val', httpOptions).subscribe(data => {
     console.log(data);
   });
}

由于某种原因,浏览器不断收到错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access.

据我所知,这应该是一个简单的 GET 请求,不需要 OPTIONS,所以我有点不知如何继续。

如有任何提示,我们将不胜感激。

最佳答案

您将需要探索为您的 API 请求设置 angular-cli 代理。

https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md

关于Angular HttpClient 简单 GET 发送预检选项。我如何强制我的 GET 保持简单请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52950033/

相关文章:

c# - AddCors 到 .Net Core 的正确顺序是什么?

angular - 以 Angular 2 进行并行调用 http get 或 post 调用

javascript - 在 Angular 4 中动态加载 Javascript 脚本

angular - 反转 mat-checkbox 的 "checked"值

r - 我想检查 url 是否重定向到 R 中的另一个页面

spring - CommonsMultipartResolver 搞乱了二进制编码

html - Angular 2 : apply style or use html tags in double-curly braces {{ }} of interpolation

java - 获取错误400客户端发送的请求在语法上不正确(): Using RestTemplate, Spring

java - 对预检请求的响应未通过访问控制检查 : No 'Access-Control-Allow-Origin' header is present . 服务器错误

javascript - Firefox 3 CORS XMLHTTPRequest 似乎不起作用