Angular: TypeError: Невозможно прочитать свойство 'toLowerCase' из неопределенного - PullRequest
0 голосов
/ 12 марта 2020

Моя проблема в том, что когда я использую метод http.post, он выдает мне ошибку «Ошибка типа: не удается прочитать свойство« toLowerCase »из неопределенного». В чем проблема? Я попытался понизить Angular до версии 8.0.0, но это не работает.

мой сервис входа в систему:

login(model: any)
 {
    return this.http.post(this.baseUrl, model)
    .pipe(map((response: any) => {
      const user = response;
      if(user){
        localStorage.setItem('token', user);
      }
    }));
 }

мой метод входа в компоненте:

login(){
    this.authService.login(this.model)
        .subscribe(next =>{
          console.log('You have been logged in');
        },err => {
          console.log(err);
        });
  }

1 Ответ

0 голосов
/ 12 марта 2020

Я думаю, что ваша проблема с baseUrl декларацией. Вы, вероятно, определяете его, но задаете не значение, а тип. Имейте в виду, что : устанавливает тип и = значение, вы, вероятно, знаете это, но я оставляю его написанным для дальнейшего использования. Так что у вас, вероятно, есть что-то вроде этого в вашем коде:

  private baseUrl: 'http://localhost:3000/'; 

Если я наберу console.log baseUrl's type, я получаю неопределенное значение, конечно:

 console.log(typeof this.usersUrl);
 // returns undefined

И если я утешу. log baseUrl чтобы получить его значение, мы снова получаем undefined:

 console.log(this.usersUrl);
 // returns undefined

Проверьте этот пример.

Если это так, просто исправьте объявление baseUrl и установите строку в качестве значения:

  private baseUrl: string = 'http://localhost:3000/'; 

Некоторое понимание того, почему ошибка указывает на метод toLowercase

Вы получаете TypeError: Cannot read property 'toLowerCase' of undefined" ошибку, поскольку angular пытается преобразовать строку baseUrl во все нижние регистры (на всякий случай) с помощью нативного метода toLowercase , и, поскольку она на самом деле не определена в вашем коде правильно, baseUrl не определена и не является строкой , поэтому ошибка выдается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...