jQuery: Doppelter Ajax-Call verhindern

Dieses Script verhindert auch bei <IE8 und Safari das ein Link der mit einem Ajax-Call verknüpft ist doppelt aufgerufen kann.

<script type="text/javascript">
    jQuery(document).ready(function () {
        jQuery('#addComment').on('click', addComment);
    });

    function addComment(e) {
        (e.preventDefault) ? e.preventDefault() : e.returnValue = false;
        var that = jQuery(this);

        that.off('click'); // remove handler
        jQuery.ajax({
            type: "GET",
            url: "myurl.php",
            data: {
                "dosomething": 1,
            }}).done(function (result) {
            if (result == 'OK') {
                //dosomething
            } else {
                alert(result);
            }
        }).always(function() {
            that.on('click', addComment); // add handler back after ajax call
        });
    }
</script>
Dieser Beitrag wurde unter HTML, jQuery veröffentlicht. Setze ein Lesezeichen auf den Permalink.