При нажатии на кнопку отправляется аякс запрос на сервер. Пока он идет, обрабатывается и тд - не должна исполняться еще раз эта же функция. Т.е. чтобы кнопка становилась disabled на момент работы аякс. А когда ответ придет - снова активировалась. Вроде тривиальная задача, но возникли сложности. Вот код:
data: {
enable: true
},
sendMessage: function () {
if( this.enable === true ) {
this.enable = false;
window.axios.defaults.headers.common['X-CSRF-TOKEN'] = $('meta[name="csrf-token"]').attr('content');
axios.post('/url', {
})
.then(function (res) {
this.enable = true;
})
.catch(function (error) {
console.error(error);
});
Вот конструкция, что идет до axios (this.enable = false) - срабатывает. А та, что внутри axios (this.enable = true) - нет. Из-за этого кнопка срабатывает 1 раз и более не работает. Как это можно исправить?