Jump to content

Willkommen Gast

Navigation

Links

Als Gast hast du nur eingeschränkten Zugriff!


Sign In 

Create Account

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.
 

   

Photo

[JS] Jquery - Ajax schleifen

- - - - -

  • Please log in to reply
2 replies to this topic

#1
simba

simba

    Member

  • Members
  • PipPipPipPip
  • Likes
    17
  • 33 posts
  • 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.

Edited by simba, 26 March 2013 - 09:23 Uhr.

  • Praha9 and z3022z like this

#2
Zero0150

Zero0150

    Noob

  • Members
  • PipPip
  • Likes
    0
  • 13 posts
  • 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 posts
  • 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 ;)



  Topic Forum Started By Stats Last Post Info

user(s) are reading this topic

members, guests, anonymous users


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.