3

在我的网络应用程序中,我需要在用户离开页面之前发送他们更改的最新数据。

当页面卸载时,我会调用这样的函数:

window.onbeforeunload=sendData;

这就是函数内部的内容

function sendData(){
        var xhr = new XMLHttpRequest;
        var storage = container;
        xhr.open("POST","save.php",false);
        xhr.send("information="+container);
}

我的问题:

  1. 更正确的是:在用户关闭页面之前使用异步或同步发送请求?

  2. 是否可以使请求更小?我只发送最多包含两个字符的变量,整个请求需要 171 个字节!

4

1 回答 1

1

必须使用同步请求,否则在 IE10 和 IE11 中无法传输数据,请参见IE10 中的 Unload 事件,无表单数据

于 2014-11-18T12:03:57.537 回答