首页 > 解决方案 > Angular 中的 HTTP 响应提供 200 但从未到达服务器

问题描述

我们有一个在 Angular 6 中完成的 web 应用程序,它利用 NGXS 进行状态管理。

我们对遇到问题的服务器进行了一次特殊调用。使用几乎相同代码的所有其他调用都没有问题。在我们的开发环境中,这没有任何问题。

我们的服务器环境和本地开发环境都使用相同的数据库。

https://i.imgur.com/JspJXrb.png(我没有足够的声誉来发布图片,抱歉)

正如您在此处的响应中看到的那样,url 是空的,所有测试参数都不是响应的一部分。

服务器日志记录,似乎它永远不会到达控制器,也没有异常。Fiddler,它从不显示它正在与 API 通信。

protected getEntities(viewContext: ViewContext, entityQuery: TEntityQuery, pagingContext: PagingContext): Observable<QueryResult<TEntity[]>> {

    const params = this.requestUtilsService.getHttpParams(entityQuery, viewContext, pagingContext);

    this.logger.log('sending entity query with params', params);

    const entitiesUrl = this.getEntitiesUrl();

    return this.http.get<TEntity[]>(entitiesUrl, { params: params, observe: 'response' }).pipe(
      map(resp => this.responseUtilsService.getQueryResult(resp))
    );
  }

我期望实体列表或服务器错误。我希望打字稿代码联系 API。

标签: c#angulartypescriptasp.net-corengxs

解决方案


我已经设法解决了这个问题,我想分享解决方案:

我们在后端使用了一个名为 AssetsController 的控制器,不知何故,对这个名称的所有请求都从未发送过,并且仍然得到 HTTP 200 响应。当我们更改控制器的名称时,一切正常。

它不起作用的确切原因尚不清楚,但我们很高兴我们可以解决这个问题。

感谢所有一直帮助我的人!

此致,

丹尼尔


推荐阅读