【问题标题】:Angular HttpInterceptor errorResponse has the wrong statusAngular HttpInterceptor errorResponse 状态错误
【发布时间】:2017-04-16 00:26:18
【问题描述】:

服务器返回 403 Forbidden 状态,但 Angular 拦截器检索到 -1 状态...有什么想法吗?

选项请求返回 200 OK...

【问题讨论】:

  • 您的解决方案是什么?我目前对此感到困惑。如果我的 API 返回 200,那么如果 API 返回 403,则不会调用拦截器,那么拦截器只会获得“-1”的状态。不知道如何解决这个问题。

标签: angularjs rest error-handling http-status-codes angular-http-interceptors


【解决方案1】:

在 Angular 中:

响应状态 -1 表示 API 自 Angular 1.3.19 以来(状态码为 0 之前)处于脱机状态(CONNECTION_REFUSED),这意味着您尝试调用的 url 不存在(因此没有服务器在监听这个打电话)

在 HTTP 协议中:

403 表示禁止。服务器理解请求但拒绝授权。希望公开请求被禁止的原因的服务器可以在响应负载(如果有)中描述该原因。

如果请求中提供了身份验证凭据,则服务器认为它们不足以授予访问权限。

【讨论】:

  • 是的,这确实是我的问题... Angular 怎么会告诉我连接被拒绝,而服务器却用代码 403 禁止响应?我已经解决了这个问题,因为它是一个允许选项请求通过但请求本身失败的 CORS 问题。但这并不能解释角度和有效请求之间不匹配的奇怪行为
猜你喜欢
  • 2021-08-03
  • 1970-01-01
  • 2016-04-09
  • 1970-01-01
  • 1970-01-01
  • 2018-01-04
  • 1970-01-01
  • 2021-01-28
  • 1970-01-01
相关资源
最近更新 更多