我有下面的ajax代码来调用服务器以保存一些数据。如果调用成功,则可以通过Vuex存储将数据传递到另一个组件并执行一些操作。下面的“ this”是我的Vue组件。
this.$store.commit('appRoot/alertSuccess', "Witness saved!")
但是如果出现错误并且我输入catch块,那么'this'为null。为什么会这样,有没有办法获取数据,以便我可以在catch语句中调用Vuex存储?
this.$store.commit('appRoot/alertError', "Couldn't save witness. IT has been notified.")
这是我使用它的地方。在catch块中,“ this”为空!
save() {
axios.post('/Api/CallSomethingHere', {
//pass some data here
}).then(response => {
// do some action here
// Show success...
this.$store.commit('appRoot/alertSuccess', "Witness saved!")
}).catch(function(error) {
// Show error;
this.$store.commit('appRoot/alertError', "Couldn't save data. IT has been notified.")
});
}