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

Vue How to send data to server before leaving page?

在关闭选项卡、浏览器、转到另一个页面或重新加载页面之前,如何将数据发送到服务器?我尝试了以下方法,但没有用。

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

如果您使用的是 Vue2,您可能只需要以不同的方式编写它:

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

我认为您编写它的方式可能适用于旧的 Vue 版本。根据此线程 (https://forum.vuejs.org/t/detect-browser-close/5001/6),上述方法似乎适用于人们,但很难创建 fiddle 来测试它,因为大多数浏览器在这种情况下会忽略警报。不过,它不应该阻止您的 API 通话。