dragonika8
@dragonika8
FrontEnd-Разработчик

Почему срабатывает catch?

Я пытаюсь сделать авторизация, если ввожу не правильный логин и пароль, то catch выдаёт ошибку правильно, а если ввожу всё корректно, то выдаёт catch выдаёт ошибку

YzGIBSVzD4E.jpg

Код:

methods: {
    async auth() {
      if (this.password != "" || this.login != "") {
        axios
          .post("http://localhost/polls/public/api/login", {
            login: this.login,
            password: this.password
          })
          .then(response => {
            if (response.status == 200) {
              this.$store.commit("login", response.data);
              this.$router.push("/main");
            }
          })
          .catch(error => {
            if (error.response.status == 404) {
              this.textModal = "Неправильно указан логин или пароль";
              this.openModal = true;
              setTimeout(() => (this.openModal = false), 2000);
            }
          });
      } else {
        this.textModal = "Введите все данные!";
        this.openModal = true;
        setTimeout(() => (this.openModal = false), 2000);
      }
    }
  }
  • Вопрос задан
  • 132 просмотра
Решения вопроса 2
Fragster
@Fragster
помогло? отметь решением!
Если сеть не работает, то статуса у ответа не будет. Или само исключение не от axios, а, например, из строки
this.$store.commit("login", response.data);
Если я правильно понял, то ругается на
if (error.response.status == 404) {
в любом случае всегда можно вставить console.log() раз уж отладчиком браузера с остановкой по ошибке или просто с точками останова не получается себя заставить пользоваться.
Ответ написан
aleksejjjj
@aleksejjjj
Очевидно ошибка не в response. Если нет ответа сервера, то она будет в реквесте. Добавьте проверку внутри catch. Что-то типа
if (error.response) {
    // Ошибка в ответе
    console.log(error.response.data);
    console.log(error.response.status);
    console.log(error.response.headers);
} else if (error.request) {
    // Ошибка при запросе
    console.log(error.request);
} else {
    // Непонятная фигня
    console.log('Error', error.message);
}

Ну и посмотрите что сервер возвращает в ответ.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 сент. 2020, в 15:21
1000000 руб./за проект
26 сент. 2020, в 15:07
1000 руб./за проект
26 сент. 2020, в 14:52
600 руб./за проект