【问题标题】:How to add header on angular 8 service for cors control如何在 Angular 8 服务上添加标头以进行 cors 控制
【发布时间】:2020-12-18 21:01:17
【问题描述】:

这是我的服务

export class user {
    apiUrl = 'http://localhost:8080/api/v1/'

    constructor(private _http: HttpClient) {}

    getUser() {
     return this._http.get(this.apiUrl + `user`, {});
}

如何为CORS控件添加标题?

【问题讨论】:

  • CORS 是服务器端
  • 您的 Api 必须在响应中提供 Access-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-Allow-Headers 标头。
  • @fridoo 的例子好吗?
  • @HamzaBouallegue 您必须搜索如何为您使用的服务器提供这些标头。对于 Go 服务器,它可能看起来像这样 stackoverflow.com/a/55904938/9423231。关于 CORS 的一般信息:stackoverflow.com/a/35553666/9423231

标签: angular typescript


【解决方案1】:

我知道为时已晚,但对其他人来说,在 Angular 中禁用/启用 CORS 的唯一方法是使用代理配置作为您的 Angular 选项。

例如,您可以将proxy.json 放入assets 文件夹并填写如下内容:

assets/proxy.json

{
    "/api/v1/*": {
        "target": "http://localhost:8080",
        "secure": false,
    }
}

并在angular.json 文件中使用以下代码更改您的serve/build

"architect": {
    "serve": {
            "builder": "@angular-devkit/build-angular:dev-server",
            "options": {
                "browserTarget": "your-project-name:build",
                "proxyConfig": "assets/proxy.json"
            },
          }
}

注意:不要忘记在服务器端项目中启用 CORS 标头。

【讨论】:

    猜你喜欢
    • 2016-02-15
    • 2014-05-11
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2019-04-10
    • 1970-01-01
    • 2020-04-23
    相关资源
    最近更新 更多