首页 文章

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

提问于
浏览
0

我正在使用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日志:

1 回答

  • 1

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

相关问题