Announcement

Collapse
No announcement yet.

Seiteninhalt per Ajax nachladen - wie umsetzen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Seiteninhalt per Ajax nachladen - wie umsetzen?

    Hallo!

    Ich weiß wie Ajax funktioniert und hab mich hier über die Möglichkeiten html, xml oder json schlau gemacht:

    http://www.quirksmode.org/blog/archi...ax_respon.html

    Aber wie läuft das konkret ab: Wenn ich jetzt per ajax den Seiteninhalt einfügen will, wobei der header und der footer gleich bleiben,
    mach ich dann einfach nen Ordner im Server-Verzeichnis, wo ich sozusagen "halbe" HTML-Seiten drin habe, also für jeden Seiteninhalt eine html-Seite mit nur
    dem div, das ich nachladen will, oder mache ich alle divs in eine HTML-Seite und spreche sie über ne id an? Auf der Seite, die ich verlinkt habe, steht was von HTML snippet, also denke ich, dass das so halbe HTML-Seiten sind, aber beim Beispiel mit XML holt er sich ein gesamtes XML-Dokument.

    Und per json hätte ich dann eine riesige JSON-Datei mit einem JSON-Objekt oder einzelne Dateien?

    Was ist da der optimale Weg?

  • #2
    Ich halte dein ganzes Vorgehen - Steuerung der Website clientseitig - für wenig zielführend. Sicherlich einzelne kleine Teile mal per Ajax holen, aber komplette Seiten? Das ist für mich wenig sinnvoll, dann kann man auch einen ganz normalen Request auslösen. Ob nun die paar Bytes für Kopf und Fuß noch kommen, spielt dann auch keine Rolle mehr

    Ansonsten macht es wohl nur Sinn, die HTML-Fragmente extra abzulegen und nur diese per Ajay zu holen. Wo da JSON helfen könnte erschließt sich nicht. Schließlich willst du ja HTML per AJAY an eine bestimmte Stelle schieben und nicht erst noch das irgendwie mit JSON parsen lassen
    Christian

    Comment


    • #3
      Also ich hatte mir das so vorgestell wie auf dieser Seite hier: Erst wird ein Teil geladen und wenn man dann nach unten scrollt, kommt noch mehr:

      http://9gag.com/

      Da werden dann per json die Inhalte neu geladen.

      Wieso machen die das denn so? Liegt das einfach an den Datenmengen? Beim mir wäre es nur Text, klar, das sind nicht so viele Bytes...

      Aber gut, dann würde ich auf jeden Fall die HTML Schnipsel als einzelne Dateien ablegen, das hat mir schon mal geholfen.

      Comment


      • #4
        Auf der Seite bekommt man ja Augenkrebs. Für mich eine typische miese Seite. Genau wie eBay man scrollt und scrollt und ist nie am Ende. Dazu ist ds scrollen auch noch stockend. Ganz großes Kino

        Davon abgesehen setzen die eben nicht das Ergebnis des Ajay-Requestes direkt in die Seiten, sondern parsen es noch. Warum habe ich mir jetzt nicht angesehen. Aber wenn du eben HTML als Ergebnis bekommst, brauchst du es nicht parsen. Wozu?
        Christian

        Comment


        • #5
          das mit json hatte ich nur erwähnt, weil das auf der verlinkten Seite besprochen wurde. Aber html ist für mich auch leichter.

          Okay, dann vielen Dank für die Antwort!

          Comment


          • #6
            JSON ist sinnvoll, wenn du als Ergebnis des Requestes ebenkein HTML erhälst, sondern bsp. aufbereitete Ergebnisse aus einer DB die du erst formatieren musst
            Christian

            Comment


            • #7
              Tja, des Menschen Wille ist sein Himmelreich

              Originally posted by Christian Marquardt View Post
              Auf der Seite bekommt man ja Augenkrebs. Für mich eine typische miese Seite. Genau wie eBay man scrollt und scrollt und ist nie am Ende. Dazu ist ds scrollen auch noch stockend. Ganz großes Kino

              Davon abgesehen setzen die eben nicht das Ergebnis des Ajay-Requestes direkt in die Seiten, sondern parsen es noch. Warum habe ich mir jetzt nicht angesehen. Aber wenn du eben HTML als Ergebnis bekommst, brauchst du es nicht parsen. Wozu?
              Um eine Webseite mehr "desktopmäßig" bedienen zu können und javaskript clientseitig voll ausnutzen zu können ist das ajax Konzept eine wirklich tolle sache. Fragt man sich manchmal ob man noch mehr braucht ausser einem Browser...


              Nur gibts halt auch immer solche grausamen Moden :


              Vor ein paar Jahren muste z.B. auf einmal alles alles "Flash" sein... scheißegal ob das gerade sinn machte oder nicht - hauptsache Flash Das hat sich zum Glück und durch jquery &co ja etwas gelegt...

              Diese Zusammenhanglosen scroll-mich-zu-tode und gib deinen Senf dazu Seiten sind jetzt irgendwie gerade ganz toll.... ob das ein Problem ist das man vom zuvielen "twittern" lernt weiss ich nicht . aber es scheint eben dieses unendliche zu sein was gefällt..

              So'n altes Hirn wie meins kommt da irgendwie nicht mit klar bzw findet halt nix wieder...


              Gab zur WM auch so Seiten mit Meldungen ... Stand oben immer eine Headline - aber den Kontent dazu hab ich in dem Fluss NIE gefunden...

              Comment


              • #8
                Mir ging es hauptsächlich darum, dass nicht gleich der gesamte Inhalt geladen wird, sondern nur ein Teil, damit die Seite schneller lädt,. Ist das nicht auch ein sinnvoller Einsatz von Ajax?

                Comment


                • #9
                  Ja. Aber das für jeden Pipifax zu machen hilft auch nicht wirklich. 1mal die ganze Seite zu holen kann schneller sein als 3mal Ping-Pong zu spielen auch wenn die übertragenen Datenmenge dann geringer wäre.

                  Ein Ticker Meldung macht Sinn per Ajax. Jede Art von Statusanzeigen, also irgendwas das sich selbsttätig aktualisieren soll, macht Sinn per Ajax. Wenn du irgendwie Daten anzeigst z.B. in einem Grid macht es Sinn die Daten kompakt per Ajax zu holen und per Javascript als Html zu rendern. Recht wenig Sinn macht es aber wenn man sich, z.B sparen will eine Disclaimer Zeile im Seitenfooter ständig mitzuladen und diese Seite fix macht um dann immer den Rest per Ajax nachzuladen.

                  Comment


                  • #10
                    Wenn deine Seite insgesamt 300kb Größe hat, müssen die irgendwie geladen werden. In kleinen Stückchen kannst du das ev. beschleunigen, da ja nach dem laden der Hauptseite die Ajaxrequests asynchron laufen (ähnlich wie das laden von Bildern), aber mit den zusätzlichen Protokolldaten überträgst du mehr Bytes.

                    Letztlich schaltest du das cachen des Browsers damit ab. Eine *.html kann (einschl. Grafiken o.a.) gecacht werden. Ein Ajaxrequest wohl nicht
                    Christian

                    Comment

                    Working...
                    X