Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

[JS] Jquery - Ajax schleifen

- - - - -

  • Bitte melde dich an um zu Antworten
2 Antworten in diesem Thema

#1
simba

simba

    Member

  • Members
  • PIPPIPPIPPIP
  • Likes
    17
  • 33 Beiträge
  • 1 Bedankt
  • 561029
  • iPhone
  • Windows, Linux
Hier beschreibe ich einmal kurz wie sich Schleifen mit Ajax umsetzen lassen ohne die Nutzung von
synchronen Requests auf die elegantere Art und Weise.

Als Beispiel aus der Realität:

Man hat mehrere Server oder Switche die via SNMP (Simple Network Message Protocol)
Informationen über Portstatus, Mac-Tabellen oder ähnliches liefern können.
Nun möchte man Beispielsweise lange MAC-Tabellen von vielen verschiedenen Switches holen, dies
dauert allerdings in der Regel relativ lange, man möchte den User nicht durch das ewige Laden
der Seite was ggf. bis zu 5 Minuten dauern könnte warten lassen, sondern diesem nach und nach
die Resultate der einzelnen Ajax-Requests ausgeben lassen. Bei der normalen Nutzung von Ajax-Requests
würde die Schleife durchrattern ohne die entsprechenden Ausgaben der einzelnen Requests und man würde
hier wieder ewig warten müssen bis ein Response eines Ajax-Requests zurück kommt.
Ggf. möchte man dem User auch anhand einer Progressbar den aktuellen Status aller Requests anzeigen.

Nun dazu gibt es eine einfache Implementierung zur Lösung des Problems.

$(function() {
for(i=0; i<=10; i++){
$.ajax({
url: "http://example.net/ajax.php?id=" + i,
ajaxI: i,
beforeSend: function () {
 // hier könnte der aktuelle Status der Progressbar rein vor dem Request
}
}).success(function(data) {
$("#sonstwas").append(data);
i = this.ajaxI,
//Hier könnte der aktuelle Status der Progressbar rein nach dem Request
});
}
});


durch das oben genannte Script sagen wir unserem Ajax request welchen Wert i zum Zeitpunkt x vor
der Ausführung des Requests haben soll, nachdem Request sobald der Response kommt und dieser Erfolgreich
war initialisieren wir in i den aktuellen Wert von i.

Bearbeitet von simba, 26 March 2013 - 09:23 Uhr.

  • Praha9 und z3022z gefällt das

#2
Zero0150

Zero0150

    Noob

  • Members
  • PIPPIP
  • Likes
    0
  • 13 Beiträge
  • 1 Bedankt
  • 197-790
Eine For Schleife in Javascript ist eigentlich immer unschön gerade wenn darin Ajax-Calls ausgeführt werden.
Ich würde eher zur Rekursion raten.

#3
juPP

juPP

    Hacker

  • Premium Member
  • Likes
    49
  • 174 Beiträge
  • 61 Bedankt
  • 000000
  • Blackberry
  • Windows, Linux
Ich schließe mich Zero0150 an entweder rekursion mit Callback oder einfach mit setInterval
... hier könnte Ihre Werbung stehen ;)



  Thema Forum Themenstarter Statistik Letzter Beitrag

Besucher die dieses Thema lesen:

Mitglieder: , Gäste: , unsichtbare Mitglieder:


This topic has been visited by 10 user(s)


    .Puma, baum123, exsize, fidi921, kiwitone, Mofug, opheus, Psykoon303, QwErTyYyY, VerZus
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.