【问题标题】:Angular Proxy not getting picked upAngular 代理没有被拾起
【发布时间】:2022-06-10 19:24:47
【问题描述】:

我试图让我的 Angular 应用程序访问我的本地 Web Api,所以我尝试实现一个代理,因为没有它我遇到了 CORS 错误:

从源“http://localhost:4200”访问“https://localhost:4300/api/games/getAll”处的 XMLHttpRequest 已被 CORS 策略阻止:无“访问控制允许源”请求的资源上存在标头。

我想代理所有 http://localhost:4200/api/* 请求来代替 ping https://localhost:4300/api/* 来绕过 CORS,所以上面的方法可以工作

但是我的代理似乎并没有真正影响我的请求。似乎代理在那里,但由于某种原因它没有捕获我的请求

我尝试了proxy.conf.json 的多种变体

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

这也在我的angular.json

"serve": {
  "builder": "@angular-devkit/build-angular:dev-server",
     "options": {
        "browserTarget": "bcm:build",
        "proxyConfig": "src/proxy.conf.json"
     },

虽然我也用简单的ng s --proxy-config src/proxy.conf.json 尝试过

当我在详细模式下运行时,似乎正在设置代理:

PS D:\dev\bettercompletionsmatter\bcm> ng serve --verbose
⠋ Generating browser application bundles (phase: setup)...<i> [webpack-dev-server] [HPM] Proxy created: /api  -> http://localhost:4300
⠙ Generating browser application bundles (phase: setup)...<i> [webpack-dev-server] Project is running at:
<i> [webpack-dev-server] Loopback: http://localhost:4200/, http://127.0.0.1:4200/
<i> [webpack-dev-server] 404s will fallback to '/index.html'

但我仍然收到 CORS 错误,Get 请求试图从 4200 达到 4300...我错过了什么?

【问题讨论】:

    标签: angular proxy cors


    【解决方案1】:

    好的,我想通了,这是一个愚蠢的错误。在调试的某个时刻,我的 API 调用试图专门访问端口 4300,因此在代理运行时它没有捕获流量,因为它正在侦听端口 4200 调用以发出代理请求

    【讨论】:

      猜你喜欢
      • 2013-10-01
      • 2016-11-29
      • 2015-07-10
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-11
      • 1970-01-01
      相关资源
      最近更新 更多