【问题标题】:Angular-cli proxy. POST request sent as GETAngular-cli 代理。 POST 请求以 GET 形式发送
【发布时间】:2017-10-30 13:17:42
【问题描述】:

我正在使用带有代理的 angular-cli 将我的请求发送到后端。我的后端在本地端口 5000 上运行,角度应用程序在默认端口 4200 上运行。GET 请求一切正常,但是我使用 HttpClient 发出的所有 POST 请求都作为 GET 请求发送。

其他方法,如 PUT、PATCH 等按预期工作。

我的代理配置:

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

如果有人能解释为什么会发生这种情况并且如果我正确使用代理,我将不胜感激。

编辑:

正在使用服务方法发出请求:

logout(): Observable<any> {
    return this.http.post('api/v1/user/logout', {});
  }

【问题讨论】:

  • 这里没有足够的信息让我们帮助您。请包含您用于运行后期操作的代码。
  • 抱歉,用请求代码更新了我的问题。请求真的很基础,因为我想用它实现的只是发送一个正确的方法。到目前为止还没有发生。
  • 对于所有发布请求,我们也必须发送正文。在这里,您没有添加任何正文。可能是它的创建问题。只需创建一个变量 let body = {};并将其作为 return this.http.post('api/v1/user/logout', body);试试这个@jakub
  • 感谢您的建议。不幸的是,添加 body 并没有改变任何东西。有效载荷被丢弃并发送 GET 请求。
  • 我不认为发布数据是其中的任何因素。空帖子请求实际上很常见。问题在于,当使用 angular-cli 代理时,我发送 GET 而不是 POST,无论它们是否携带数据。

标签: angular proxy angular-cli


【解决方案1】:

问题显然很愚蠢。我所要做的就是在 url 末尾添加 / 并发送正确方法的请求...

【讨论】:

  • 我也遇到了这个问题——超级奇怪。我在我的网址中添加了一个斜杠,但没有运气
猜你喜欢
  • 1970-01-01
  • 2011-06-11
  • 2012-09-22
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2018-07-21
  • 1970-01-01
相关资源
最近更新 更多