Angular, получает значение кода состояния из post-запроса

#angular #angular7 #http-status-code-401

#угловатый #угловой 7 #http-status-code-401

Вопрос:

Я хочу получить значение StatusCode из запроса post, чтобы использовать его в моем компоненте. Это то, что я сделал:
вызов Api:

   Login(user: User) {
    return this.http.post(apiUrl   'account/Login', user).subscribe();
  }
 

Метод в компоненте:

   Login() {
    this.user.UserName = this.loginForm.controls.userName.value;
    this.user.Password = this.loginForm.controls.password.value;

    this.api.Login(this.user)
  }
 

Теперь он отображается только как ошибка
введите описание изображения здесь
Результат должен быть таким::
введите описание изображения здесь

Обновить
Это не проблема cors …
Успешный вход в систему: введите описание изображения здесь

Комментарии:

1. каков ваш серверный сервер?

2. @KhaledSameer asp.net ядро

Ответ №1:

Добавьте обратный вызов ошибки в свою подписку, чтобы перехватить ошибки из наблюдаемого HTTP.

 Login(user: User) {
    return this.http.post(apiUrl   'account/Login', user).subscribe(
        (data) => {

        },
        (error) => {
           console.log(error);
           // get the status as error.status
        })
}
 

В случае, если вы хотите получить весь код состояния, независимо от успеха или неудачи, вы должны соблюдать response в своем запросе.

Сделайте свой вызов API как:

 this.http.post(apiUrl   'account/Login', user, {observe: 'response'})
 

Запишите ответ, чтобы узнать, как вы можете получить доступ к статусу.

Комментарии:

1. Это работает, но как я могу отобразить код статуса успешного входа в систему? Например: для успешного входа в систему сервер возвращает код состояния 200.

2. @Storm Смотрите обновленный код, если вам нужен статус независимо от успеха или неудачи.