Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] AJAX basierter Iterator

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] AJAX basierter Iterator

    Hallo,

    für ein Kundenprojekt ist eine Art Iterator auf basis von AJAX gewünscht. Das Projekt basiert auf Yii und JQuery.

    Der Kunde möchte ein Verhalten wie es bspw. bei Windows-Setups der Fall ist. Man sieht welche Dateien gerade installiert werden und wie weit die Installation ist.

    Ich habe mir folgendes ausgedacht:

    1. Es wird eine Task-Action ausgeführt. In dieser Action wird eine Task Chain in die Datenbank geschrieben. Diese führt eine View aus darin wird das Javascript geladen. Im javascript findet ein Ajaxaufruf an der Ajax Action statt. Es wird ein Task und ein Token übergeben.

    2. Die Ajax-Action fragt den Token ab ob dieser verwendet werden darf und aktuell ist. (Dies ist bereits in eine Komponente ausgelagert). Ist beides True, dann wird der aktuelle Task abgefragt. Es wird eine JSON-Ausgabe gemacht. Davor wird der aktuelle Task als fertig makiert so das der nächste ausgeführt wird. In der JSON-Ausgabe wird eine Property 'iterate' : 'next' und ein Object ajax: { data : 'task=taskid&token=md5token'} gesetzt. Data wird an die ajax property Data gesendet.

    3. Ist kein Task mehr verfügbar dann wird in der JSON-Ausgabe die Property iterate auf complete gesetzt und das data-Object bleibt leer.

    Die Iterator Methoden Rewind, current, key, next und valid werden nicht im Javascript verwendet. Die Logik findet ausschlielich im controller statt. Im Javascript wird nur ausgeführt.

    Meine frage an euch habe ich da irgendwas vergessen bzw. ist da ein Denkfehler? Ist dieses Konzept soweit schlüssig?

    MfG
    Hybrid developer & Innovation engineer at http://grannyandsmith.com.

    Blogging about application development and workflows at http://www.marco-bunge.com.

  • #2
    1. Der Client sendet eine Anfrage, in der alles drin steht, was der Server braucht, um die geplanten Schritte auszuführen.
    2. Der Server sendet eine URL, die du nach Statusinformationen fragen kannst.
    3. Der Browser
      1. wartet ein wenig,
      2. sendet eine Anfrage an die URL für Statusinformationen,
      3. aktualisiert anhand der empfangenen Daten die Seite,
      4. geht zurück zu i. falls die Statusinformationen darauf schließen lassen das der Server noch nicht fertig ist.
    Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden

    Kommentar


    • #3
      Kurz zum verständnis:

      2. Der Server macht einen Response an den browser?
      3. i. In wie fern soll der Browser warten? Auf eine Antwort vom Server?
      Hybrid developer & Innovation engineer at http://grannyandsmith.com.

      Blogging about application development and workflows at http://www.marco-bunge.com.

      Kommentar


      • #4
        Zitat von mbunge Beitrag anzeigen
        2. Der Server macht einen Response an den browser?
        Ja

        Zitat von mbunge Beitrag anzeigen
        3. i. In wie fern soll der Browser warten? Auf eine Antwort vom Server?
        Nein, die Antwort wurde ja schon in 2. empfangen. Der Browser wartet einfach ein paar Sekunden. i. bis iv. läuft über AJAX. Du willst ja nicht 1000 mal pro Sekunde beim Server nachfragen, wie's den gerade mit der Abarbeitung der Aufabe aussieht. Da geht der Server in die Knie und hat keine Zeit mehr, sich um die eigentliche Aufgabe zu kümmern.
        Meinungen, die ich geäußert habe, sind nicht notwendigerweise meine eigenen. Abweichungen von der deutschen Rechtschreibung unterliegen dem Urheberrecht, dürfen aber unter den Bedingungen von verwendet werden

        Kommentar


        • #5
          zu 2. Ja klar, hätte ich ja auch drauf kommen können...

          Vielen Dank,

          das Thema ist hiermit erledigt.
          Hybrid developer & Innovation engineer at http://grannyandsmith.com.

          Blogging about application development and workflows at http://www.marco-bunge.com.

          Kommentar


          • #6
            PHP/AJAX Pulling umschreibt das Ganze. Nur um ein Stichwort zu nennen

            Kommentar

            Lädt...
            X