Angular 5 Http错误未从Web服务调用返回

问题描述 投票:0回答:1

我正在使用HttpClientModule在Angular 5中进行Web服务调用,它适用于所有200个状态响应。但是,如果有任何400状态,它只是等待并等待并最终获得503状态。

例如,如果我使用正确的用户名/密码调用此函数,它将起作用,我将返回200状态,以及User对象。但是,如果我传入错误的用户名/密码,我不会得到400错误,大约一分钟后我得到503错误。

服务器端日志显示webservice正在为我的请求返回400状态,但没有任何回复。

这是我的网络服务呼叫代码:

login(username: string, password: string): Observable<boolean> {
  const url = this.getUrl('/v1/users/login');
  const headers = {
    headers: new HttpHeaders({'Content-Type': 'application/json', 'transactionId': uuid.v4()})
  };
  const body = { username, password };

  return new Observable<boolean>( observer => {
    this.http.post<User>(url, body, headers).subscribe(
      (user: User) => {
        console.log('login: Success: ', user);
        observer.next(true);
      },
      (err: HttpErrorResponse) => {
        console.log('login: Error: ', err);
        observer.next(false);
      }
    );
  });
}

这是Chrome Network日志:

angular http error-handling
1个回答
1
投票

原来服务器上有一个bug。关于“媒体类型”的日志中出现错误。一旦解决了,服务器现在发回正确的错误响应,我的代码正在处理它们。

© www.soinside.com 2019 - 2024. All rights reserved.