0

ブラウザの「X」ボタンを使用してブラウザを閉じる前に、データベース値を更新するためにajax呼び出しを行う必要がある機能があります。関連ファイルのヘッダーで以下のコードを使用しました:

$(document).ready(function() {
     window.onbeforeunload = function(){
        $.ajax('<?php echo base_url();?>index.php/ajax/myfunction?a=4');
     }
});

ブラウザを閉じると、関数は機能しますが、ajax呼び出しは実行されません。

解決策は何ですか?

4

1 に答える 1

2

おそらく最も美しいコードではないかもしれませんが、私の経験では、タイムアウトスレッドで ajax 呼び出しを生成すると、クロスブラウザーでうまく機能します

$(window).bind("beforeunload", function (e) {
    setTimeout(function(){
        $.ajax({
            type: 'GET',
            async: false,
            url: "[YOUR API CALL]"
        });
    }, 0);
});

これを最後に使用したのは、Jquery 1.7 を使用するプロジェクトであったことに注意してください。

于 2013-06-20T04:26:08.593 に答える