Heim > Web-Frontend > js-Tutorial > JQuery Ajax Loading mit AjaxStart/AjaxSetup

JQuery Ajax Loading mit AjaxStart/AjaxSetup

Jennifer Aniston
Freigeben: 2025-02-27 09:04:09
Original
224 Leute haben es durchsucht

JQuery Ajax Laden mit ajaxStart() und ajaxStop()

Diese Anleitung zeigt, wie die Methoden von JQuery ajaxStart() und ajaxStop() zum Verwalten von Ladeindikatoren während von AJAX -Anforderungen verwaltet werden. Wir werden mehrere Ansätze abdecken, einschließlich der direkten Verwendung dieser Methoden, der Einbeziehung dieser in Ajax -Anrufe und der Nutzung von ajaxSetup().

jQuery Ajax Loading using ajaxStart/ajaxSetup

Methode 1: Direkte Verwendung von ajaxStart() und ajaxStop()

Diese Methode zeigt ein Ladebild an und deaktiviert die Schaltfläche eines Formulars, während eine AJAX -Anforderung im Gange ist. Sobald die Anforderung abgeschlossen ist, ist das Bild versteckt und die Schaltfläche wieder aufgenommen.

var $form = $('#form');

$form.find('.loading')
  .hide()
  .ajaxStart(function() {
      $(this).show();
      $form.find('.submit').attr('disabled', 'disabled');
  })
  .ajaxStop(function() {
      $(this).hide();
      $form.find('.submit').removeAttr('disabled');
  });
Nach dem Login kopieren

Methode 2: Ladeanzeige vor und complete Handler

Alternativ können Sie den Ladeindikator vor dem AJAX -Aufruf anzeigen und den complete Handler verwenden, um ihn zu verbergen.

// Show loading image, disable submit button
$form.find('.msg').remove();
$form.find('.loading').show();
$form.find('.submit').attr('disabled', 'disabled');

// AJAX call
$.ajax({
    // ... your AJAX settings ...
    complete: function() {
        $form.find('.loading').hide();
        $form.find('.submit').removeAttr('disabled');
    }
});
Nach dem Login kopieren

Methode 3: Verwenden Sie ajaxSetup() für globales Handling

Verwenden Sie für eine globale Lösung, die alle AJAX -Anforderungen betrifft, ajaxSetup(). Dies verbirgt das Ladebild und ermöglicht das Formular nach alle ajax addits.

$.ajaxSetup({
    complete: function() {
        $form.find('.loading').hide();
        $form.find('.submit').removeAttr('disabled');
    }
});
Nach dem Login kopieren

häufig gestellte Fragen

Der folgende Q & A -Abschnitt befasst sich mit häufigen Fragen zur Verwendung von ajaxStart(), ajaxStop() und verwandten JQuery Ajax -Methoden. Beachten Sie, dass der ursprüngliche FAQ -Abschnitt für Klarheit und Zuversicht kondensiert und umformuliert wurde.

  • ajaxStart() Zweck: ajaxStart() führt eine Funktion aus, wenn eine AJAX -Anforderung beginnt und keine anderen Anforderungen aktiv sind. Es ist ideal, um Ladeindikatoren anzuzeigen.

  • Zeigen Sie einen Ladespinner: Erstellen Sie ein Spinnerelement (z. B. <div id="spinner">). Verwenden Sie <code>$(document).ajaxStart(function(){ $("#spinner").show(); });, um es anzuzeigen.

  • Versteck des Spinner $(document).ajaxStop(function(){ $("#spinner").hide(); });

  • mit spezifischen Anforderungen:

    bind an das Element, das die AJAX -Anforderung initiiert (z. B. ajaxStart()). ajaxStart() $("#myButton").ajaxStart(...)

  • vs.

    : ajaxStart() Auslöser nur, wenn keine anderen AJAX -Anforderungen ausgeführt werden; ajaxSend() Auslöser für jede Anfrage. ajaxStart() ajaxSend()

  • Fehlerbehandlung:
  • Verwenden Sie

    neben , um Fehler zu behandeln. Zum Beispiel: ajaxError()

  • Kombinieren Sie sich mit anderen AJAX -Methoden: ajaxStart() funktioniert mit anderen jQuery Ajax -Methoden (ajaxStop(), ajaxComplete(), ajaxError() usw.).

  • Verwenden mit Kurzmethoden: ajaxStart() Funktionen mit Kurzmethoden wie $.get() und $.post().

  • Diese überarbeitete Antwort liefert eine prägnantere und organisiertere Erklärung von JQuery Ajax -Ladetechniken, die die wichtigsten Aspekte und gemeinsamen Fragen behandelt. Das Bild bleibt in seiner ursprünglichen Position.

Das obige ist der detaillierte Inhalt vonJQuery Ajax Loading mit AjaxStart/AjaxSetup. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage