イベントを使用して同期AJAX呼び出しを実行しようとすると、少し問題が発生しました$(window).unload
。
ただし、ドキュメントによると:
jQuery 1.8以降、async:falseの使用は非推奨になりました。
ユーザーのデータ(名前、年齢、数字の大きな文字列)を、ページを終了する直前に一度にphpファイルに送信しようとしています。
これは可能ですか?
ありがとう。
unload
イベントが発生するという保証もないため、このデータが重要な場合は、これを実行しようとさえしません。その人はブラウザをシャットダウンしたり、コンピュータでプルを引っ張ったりする可能性があります。
代わりに、ページに保存ボタンを配置します。
あなたは試すことができますbeforeunload
、
$(window).bind('beforeunload', function() {
//Do your processing
return "You want to close the window?"
});
これを見て:
unload イベントを使用して ajax リクエストを確実に起動できますか?
jQuery を使用してアンロード イベント ハンドラから AJAX リクエストを起動できないのはなぜですか?
結論:
非同期リクエストを持たない方が良いです。また、php でignore_user_abort()を設定して、接続が切断されても終了しないようにする必要があります。
はい。ただし、ブラウザーが要求を中断してからコンピューターを離れるかどうかはわかりません。ブラウザにもよると思います。ほぼ確実に、クライアントが応答を処理する方法はありません。