4 Stimmen

Verhindern des Stapelns von AJAX-Anfragen

Ich habe ein Problem, das ich nicht zu lösen vermag.

Ich bin gerade dabei, eine AJAX-Funktion zu implementieren, ähnlich der, die Twitter verwendet - die neue Beiträge beim Scrollen abruft.

Das jQuery sieht in etwa so aus:

        $(window).scroll(function(){
            if($(window).scrollTop() == $(document).height() - $(window).height()){
                $('div#ajaxloader').show();
                $.ajax({
                    url: "loader.php?lastid=" + $(".container:last").attr("id"),
                    success: function(html){
                        if(html){
                            $("#main").append(html);
                            $('div#ajaxloader').hide();
                        }else{
                            $('div#ajaxloader').html('No more posts to show.');
                        }
                    }                   
                });
            }
        });

Jetzt das Problem; wenn der Benutzer wirklich schnell scrollt und die Datenbank tut seine Arbeit schnell - die jQuery scheint nicht in der Lage zu sein, die richtige Id als eine Abfrage schnell genug zu senden - was zu Doppel-Posts führt.

Hat jemand eine gute Idee, wie man das verhindern kann?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X