Wie um zu zeigen, processing animation / spinner während der ajax-request?
Möchte ich ein basic spinner oder Verarbeitung animation während meine AJAX-POST-processing. Ich bin mit JQuery und Python. Ich schaute auf die Unterlagen, kann aber nicht genau herauszufinden, wo man die ajaxStart und ajaxStop Funktionen.
Hier ist mein js:
<script type="text/javascript">
$(function() {
$('.error').hide();
$("#checkin-button").click(function() {
var mid = $("input#mid").val();
var message = $("textarea#message").val();
var facebook = $('input#facebook').is(':checked');
var name = $("input#name").val();
var bgg_id = $("input#bgg-id").val();
var thumbnail = $("input#thumbnail").val();
var dataString = 'mid='+mid+'&message='+message+'&facebook='+facebook+'&name='+name+'&bgg_id='+bgg_id+'&thumbnail='+thumbnail;
$.ajax({
type: "POST",
url: "/game-checkin",
data: dataString,
success: function(badges) {
$('#checkin-form').html("<div id='message'></div><div id='badges'></div>");
$('#message').html("<h2><img class=\"check-mark\" src=\"/static/images/check-mark.png\"/>You are checked in!</h2>");
$.each(badges, function(i,badge) {
$('#badges').append("<h2>New Badge!</h2><p><img class='badge' src='"+badge.image_url+"'><span class='badge-title'>"+badge.name+"</span></p>");
});
}
});
return false;
});
});
</script>
InformationsquelleAutor der Frage Will Curran | 2011-02-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
http://api.jquery.com/jQuery.ajax/:
Hinweis: die beforeSend und komplett Methode Ergänzungen der code.
Hoffe, das hilft.
InformationsquelleAutor der Antwort Mandrake
Wenn Sie mit jQuery 1.5, die Sie tun könnten, freundlich, unauffällig und allgemein mit einem Vorfilter. Machen wir ein sehr einfaches plugin dafür:
Installieren Sie eine animation wie folgt:
dann geben Sie die animation in ajax-Optionen:
und der Vorfilter wird sicherstellen, dass die "spinner" die animation gestartet und beendet wird, wenn nötig.
Natürlich, auf diese Weise, können Sie eine alternative Animationen installiert, und wählen Sie die, die Sie brauchen pro Anfrage. Sie können auch eine Standard-animation für alle Anfragen, die mit ajaxSetup:
InformationsquelleAutor der Antwort Julian Aubourg
Die beste Methode, die ich gefunden haben, vorausgesetzt, Sie bevölkern ein Geschenk, aber leere Feld ein
.loading
Klasse definiert, mitbackground-image: url('images/loading.gif')
in Ihrem CSS. Dann können Sie hinzufügen und entfernen Sie den laden Klasse wie nötig mit jQuery.InformationsquelleAutor der Antwort Chris Sobolewski
InformationsquelleAutor der Antwort Idered
Schrieb ich eine blog-post darüber, wie dies zu tun auf einem generischen Dokument-Ebene.
InformationsquelleAutor der Antwort SKFox
Den AJAX-Prozess beginnt, wenn Sie laufen
$.ajax()
Methode, und es Stoppt, wenn die 'komplette' callback ausgeführt wird. So starten Sie die Bearbeitung Bilder/Benachrichtigung direkt vor der$.ajax()
Linie, und beenden Sie es in die 'vollständige' callback.ajaxStart
undajaxStop
- Handler Hinzugefügt werden können, um beliebige Elemente, und werden genannt, wenn die ajax-Anfragen starten oder zu stoppen (wenn es gleichzeitige Instanzen starten Sie nur aufgerufen wird, wird auf die erste Station am letzten zu gehen). So, es ist nur eine andere Art zu tun, Globale Benachrichtigung, wenn Sie hatte, zum Beispiel, ein status, den spinner irgendwo auf der Seite, das stellt jeden und alle Aktivitäten.InformationsquelleAutor der Antwort Craig
können Sie festlegen, Globale ajax-loading-icon-handler mithilfe der hier #ajxLoader nimmt Ihre laden-Symbol
InformationsquelleAutor der Antwort don't angry me