js 在页面卸载时保存数据无法按预期工作

js save data on page unload does not work as expected

我正在尝试在页面卸载时保存一些数据,这是我当前的脚本

window.addEventListener("unload", function(event) {
    if(snippetChanged){
        //save it
        snippetChanged = false
        var changeData = {
            code: CryptoJS.AES.encrypt(snippetEditor.getValue(), 'key').toString(),
            name: path[0]
        }
        var xmlHttp = new XMLHttpRequest();

        xmlHttp.open('POST', '/userhome/updateSnippet', true);
        xmlHttp.send(JSON.stringify(changeData)); 
    }
})

但是这只能部分起作用(在 firefox 中重置网页),我不知道为什么会这样,非常感谢任何帮助

创建一个函数并命名为saveData()

function saveData(){
   // your code to save the data
}

在 Body html 标签中放置 onunload="saveData()" 示例:

<body onunload="saveData()">