3

私の Web アプリでは、ユーザーがページを離れる前に、ユーザーが変更した最新のデータを送信する必要があります。

ページのアンロード時に、次のような関数を呼び出します。

window.onbeforeunload=sendData;

それが呼び出された関数の中にあるものです

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

私の質問:

  1. より正しいのは何ですか: ユーザーがページを閉じる前に、非同期または同期を使用してリクエストを送信しますか?

  2. リクエストを小さくすることは可能ですか? 最大 2 文字を含む変数のみを送信し、リクエスト全体で 171 バイトかかります!

4

1 に答える 1

1

同期リクエストを使用する必要があります。そうしないと、データは IE10 および IE11 で送信されません。IE10 での Unload イベント、フォーム データなし を参照してください。

于 2014-11-18T12:03:57.537 に答える