Как вывести Response в alert()

140
27 января 2021, 07:20

Мне нужно вывести response.errors.detail как строку в alert. При попытке alert(response.errors.detail) получаю уведомление: [object Object].

$.ajax({
    url: "http://127.0.0.1:8000/auth/users/create/",
    type: "POST",
    data: {
         email: this.email,
         username: this.login,
         password: this.password
    },
    success: (response) => {
            alert("Аккаунт зарегистрирован");
            this.$router.push({name: 'home'})
    },
    error: (response) => {
            alert(response.errors.detail)
    }
 })

Ответ POST запроса:

{
    "errors": [
        {
            "detail": "Введённый пароль слишком похож на имя пользователя.",
            "source": {
                "pointer": "/data/attributes/password"
            },
            "status": "400"
        },
}
Answer 1

Вот перебор и вывод ошибок.

  let result = '';
  response.errors.forEach((el) => {
    result += `${el.detail} \n`;
  });
  alert(result)

const response = { 
  "errors": [{ 
    "detail": "Введённый пароль слишком похож на имя пользователя.", 
    "source": { 
      "pointer": "/data/attributes/password" 
    }, 
    "status": "400" 
  }, { 
    "detail": "Ошибка 2", 
    "source": { 
      "pointer": "/data/attributes/password" 
    }, 
    "status": "400" 
  }, { 
    "detail": "Ошибка 3", 
    "source": { 
      "pointer": "/data/attributes/password" 
    }, 
    "status": "400" 
  }, ] 
} 
 
error = () => { 
  let result = ''; 
  response.errors.forEach((el) => { 
    result += `${el.detail} \n`; 
  }); 
  alert(result) 
}
<button onclick="error()">test</button>

Answer 2

Удалось вывести с помощью команды:

alert(JSON.stringify(response.responseJSON.errors['0'].detail));

Не удивляйтесь, у меня сначала тоже глаза на лоб полезли :/

READ ALSO
На маленьких экранах не работает кнопка

На маленьких экранах не работает кнопка

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

129
Как сделать такой функционал в верстке?

Как сделать такой функционал в верстке?

посмотрите пожалуйста на мокапКрасные блоки - простой контент

119