Как я могу получить исключения из django-rest в моем методе vue.js? - PullRequest
0 голосов
/ 10 июля 2019

Я использую django-rest-passwordreset для восстановления забытого пароля.В моем Vue.js у меня есть метод для установки нового пароля.Это работает, но мне нужно получить исключения, если пароль слишком короткий или слишком распространенный и т. Д. Вот мой vue.js set_password:

methods: {
    set_password() {
        axios.post('/app/reset-password/confirm/', {'password': this.password, 'token': this.token})
        .then(response => {
            console.log(response)
        })
        .catch(error => {
            console.log(error)
        })
    }
},

Если я отправляю запрос POST на http://localhost:8000/app/reset-password/confirm/ с помощью RestManчтобы вызвать исключения на сервере django, например: короткий пароль, который я получаю:

{
    "password": [
        "This password is too short. It must contain at least 8 characters.",
        "This password is too common."
    ]
}

, но в моем vue.js set_password () я действительно не могу получить эти исключения.В консоли браузера я получаю:

POST http://localhost:8000/app/reset-password/confirm/ 400 (Bad Request)
Error: Request failed with status code 400
    at createError (build.js:15685)
    at settle (build.js:27186)
    at XMLHttpRequest.handleLoad (build.js:15559)

Если я отправлю хороший пароль (не короткий и т. Д.), В консоли браузера появится «ответ»:

{data: {…}, status: 200, statusText: "OK", headers: {…}, config: {…}, …}

Но как я могу получить исключения от моего сервера django?

1 Ответ

0 голосов
/ 11 июля 2019

В вашем vue.js, если вы войдете в систему, error.response.data сообщит вам полную ошибку.

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