Очевидно глупая ошибка при попытке передать значение из ответа Axios объекту данных в Vue - PullRequest
1 голос
/ 02 мая 2019

Я уверен, что это смехотворно просто, но у меня возникают проблемы при передаче ответа от запроса Axios объекту данных для использования в другом месте.В настоящее время он просто возвращает все, что я установил по умолчанию в объекте данных (в данном случае, ноль).Помогите, пожалуйста!Это очень ценится.

Мой код Vue:

var thing = new Vue({
    el: '#el',
    data: {
        message: null,
    },
    components: ...
    template: ...
    methods: {
        thing() {
            ...
        }
    },
    created() {
        axios.get('/is-logged')
        .then(response => {
            if(response.data.status == 'error') {
                this.message = response.data.message;
            }
        })
        .catch(e => {
            console.log(e);
        });
    },

    mounted() {
        if (!this.message) {
            console.log(this.message);
            this.thing();
        }
    }
});

Ответ, который я получаю от is_logged:

{"message":"You are not authorised","status":"error"}

1 Ответ

1 голос
/ 02 мая 2019

Вы записываете его значение до завершения AJAX-запроса (поскольку компонент будет mounted до того, как получите ответ на запрос в created).

Попробуйте поместить console.log(this.message) вконец вашего then обратного вызова.

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