当前位置: 首页 > 知识库问答 >
问题:

如何在Angular 5报头中添加CORS请求

卫仲卿
2023-03-14

我已经在标题中添加了CORS,但我仍然在请求中得到CORS问题。在头中添加和处理CORS和其他请求的正确方法是什么?

以下是服务文件代码:

import { HttpClient, HttpHeaders, HttpClientModule } from '@angular/common/http';
const httpOptions = {
  headers: new HttpHeaders({ 
    'Access-Control-Allow-Origin':'*',
    'Authorization':'authkey',
    'userid':'1'
  })
};

public baseurl = 'http://localhost/XXXXXX';

userAPI(data): Observable<any> {
  return this.http.post(this.baseurl, data, httpOptions)
    .pipe(
      tap((result) => console.log('result-->',result)),
      catchError(this.handleError('error', []))
    );
}

错误:

对preflight请求的响应未通过访问控制检查:请求的资源上没有“access-control-allow-origin”标头。因此,不允许访问源“http://localhost:4200”

失败:(未知url)的Http失败响应:0未知错误

在我的服务器端代码中,我在索引文件中添加了CORS。

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');

共有1个答案

易刚捷
2023-03-14

根据我的经验,这些插件可以使用HTTP,但不能使用最新的HttpClient。此外,在服务器上配置CORS响应头实际上并不是一个选项。因此,我创建了一个proxy.conf.json文件来充当代理服务器。

请在此阅读更多内容。

proxy.conf.json文件:

{
  "/posts": {
    "target": "https://example.com",
    "secure": true,
    "pathRewrite": {
    "^/posts": ""
  },
    "changeOrigin": true
  }
}
"start": "ng serve --proxy-config proxy.conf.json"
return this._http.get('/posts/pictures?method=GetPictures')
.subscribe((returnedStuff) => {
  console.log(returnedStuff);
});

最后,要运行我的应用程序,我必须使用npm startng serve-proxy-config proxy.conf.json

 类似资料:
  • 我正在尝试使用JQuery在Ajax中向请求添加头。 以下是代码:- 然后我使用了要求(要求是chrome火狐插件,我们可以手动添加一个标题到请求)。 手动添加标题后:- 在这两个pics请求头中,“ACCESS-CONTROL-request-HEADERS”中都有x-auth-token,但第二个pic中有“x-auth-token”头和头值,而第一个pic中没有。 所以我的问题是如何使用JQ

  • 问题内容: 我已经开发了一个Restfull应用程序,我想添加另一个Web应用程序来使用其服务,因此我进行了以下Ajax调用: 我得到这个例外: 对象{readyState:0,状态:0,statusText:“ SyntaxError:无法执行’setRequestHeader’…-Origin: ‘不是有效的HTTP标头字段名称。”}错误DOMException:无法在’XMLHttpRequ

  • 问题内容: 我有一个来自oracle的NO.net Web服务,要访问,我需要添加soap标头。如何在Java中添加soap标头? 这有必要吗? 我的肥皂标头是这样的: 问题答案: 我做到了,只需按照本教程进行即可。很有帮助 是来自javadb的副本(因为已关闭) http://informatictips.blogspot.pt/2013/09/using-message-handler-to-

  • 我在openshift容器平台上部署了一个容器化应用程序/服务,其中包含istio服务网格。在istio虚拟服务yaml中,我想验证http请求是否有头(对于ex:version)和值v1。我在虚拟服务yaml中添加了下面的配置,用于验证头文件。但我正在寻找可用的选项,使用loadbalancer/ingress/openshif route等将此头插入HTTP请求中,因为我的istio ingr

  • 问题内容: 我正在尝试访问网站,但无法将收集到的“ Cookie”添加到传出的POST请求标头中。我已经能够验证它们是否存在于CookieManager中。 HtmlUnit的任何替代方法也将不胜感激。 问题答案: 我发现可以使用WebClient中的setadditionalHeader()添加标题。

  • 下面是我的Lambda函数。在我的Lambda的Cloudwatch日志中可见,但在我的自定义服务器请求头中不显示:(。 我希望在下的node.js路由中可见。