Vue如何在离开页面之前将数据发送到服务器?

时间:2018-12-12 15:40:59

标签: json javascript-events vuejs2 reload

在关闭标签页,浏览器,转到另一个页面或重新加载页面之前,如何将数据发送到服务器?我已经尝试了以下方法,但是不起作用。

ready: function() {
        Vue.util.on(window, 'beforeunload', this.save, false);
    }

1 个答案:

答案 0 :(得分:1)

如果您使用的是Vue2,则可能需要编写不同的文字:

created() {
    window.addEventListener('beforeunload', this.sendData)
  },
  methods: {
    sendData() {
      //send the data
    },
  },

我认为您的编写方式可能已在较旧的Vue版本中起作用。上面的方法似乎适用于根据此线程(https://forum.vuejs.org/t/detect-browser-close/5001/6)的人们,但是很难创建一个小提琴来对其进行测试,因为大多数浏览器在这种情况下会忽略警报。不过,它不应阻止您的API调用。