Frage

Was ist das beste Paginierung zu behandeln? Server-Seite oder tun sie dynamisch mit Javascript?

Ich arbeite an einem Projekt, das auf der Ajax schwer und dynamisch Daten ziehen, also hat mich auf einem Javascript Paginierung System gearbeitet, das den dom verwendet - aber ich fange an es zu denken, wäre besser, behandeln sie alle Server-Seite.

Was sind alle Gedanken?

War es hilfreich?

Lösung

Die richtige Antwort hängt von Ihren Prioritäten und die Größe des Datensatzes paginiert werden.

Server-Seite Paginierung ist am besten für:

  • Großer Datensatz
  • Schnellere erste Seite Last
  • Zugänglichkeit für diejenigen, die nicht laufen Javascript

Client-Seite Paginierung ist am besten für:

  • Kleine Datensatz
  • Schnellere nachfolgende Seite geladen

Wenn Sie also in erster Linie für kosmetische Gründe Paginieren, macht es mehr Sinn, es Client-Seite zu handhaben. Und wenn Sie Paginieren anfängliche Ladezeit zu reduzieren, Server-Seite ist die offensichtliche Wahl.

Natürlich Vorteil der Client-Seite auf nachfolgende Ladezeiten verringert sich, wenn Sie Ajax verwenden nachfolgenden Seiten zu laden.

Andere Tipps

es auf Client-Seite tun wird Ihre Benutzer laden Sie alle Daten auf dem ersten machen, die erforderlich sein könnten, nicht, und werden den Hauptvorteil der Paginierung entfernen.

Der beste Weg, so dass für eine solche Art von AJAX-Anwendungen zu tun ist, AJAX rufen Sie den Server für die nächste Seite zu machen und die aktuelle Seite mit Client-seitiges Script aktualisieren hinzuzufügen.

Wenn Sie große Seiten und eine große Anzahl von Seiten, die Sie besser von anfordernden Seiten in Stücken vom Server über AJAX. Lassen Sie uns also der Server die Paginierung tun, basierend Ihrer Anfrage-URL.

Sie können auch Pre-Fetch die nächsten Seiten der Benutzer sehen zu wahrscheinlich die Schnittstelle zu machen scheinen mehr ansprechbar.

Wenn es nur wenig Seiten, es ist alles up-front greifen und Paginieren auf dem Client kann eine bessere Wahl sein.

Auch bei kleinen Datengrößen die beste Wahl Serverseite Paginierung sei. Sie werden nicht später, wenn Ihre Web-Anwendung weiter skaliert kümmern.

Und für größere Datengrößen der Antwort liegt auf der Hand.

Seite Server -. Bitte senden Sie an den Client gerade genug Inhalt für die aktuelle Ansicht

In einer praktischen Welt der Grenzen, würde ich Seite auf der Server-Seite alle Ressourcen mit dem Senden der Daten zugeordnet konservieren. Außerdem muss der Server selbst von einem böswilligen / Fehlfunktion Client zum Schutz für eine große Seite zu stellen.

Sobald dieser Code glücklich entlang tuckern wird, würde ich „Smarts“ an den Client fügen Sie die „next“ und „vorherige“ Seite zu gelangen und dass im Speicher zu halten. Wenn der Benutzer Seiten auf der nächsten Seite, aktualisieren Sie Ihren Cache.

Wenn die Client-Software macht diese Art von Seiten-Caching, betrachtet, wie schnell Ihre Daten Alter (wahrscheinlich ändern), und wenn Sie überprüfen sollen, dass Ihre im Cache gespeicherten Datenseite nach wie vor gültig ist. Vielleicht ist es wieder anfordern, wenn sie im Alter von mehr als 2 Minuten. Vielleicht hat eine „schmutzige“ Flagge in ihm. Sowas in der Art. Hoffe, dass Sie diese hilfreich finden. :)

Sie meinen, dass Ihr JavaScript, um alle Daten im Speicher hat, und zeigt eine Seite eine Zeit? Oder dass es Downloads jede Seite vom Server, wie es nötig ist, mit AJAX?

Wenn es Letzteres ist, können Sie auch über das Sortieren denken. Wenn Sie sortieren JavaScript verwenden, werden Sie nur in der Lage sein, eine Seite zu einem Zeitpunkt, zu sortieren, die nicht viel Sinn macht. So sollten Sie Ihre Sortierung auf dem Server durchgeführt werden.

Ich ziehe es Server-Seite Paginierung. Wenn es jedoch die Umsetzung, müssen Sie sicherstellen, dass Sie Ihre SQL richtig sind zu optimieren. Zum Beispiel glaube ich, in MySQL, wenn Sie die LIMIT-Option verwenden Sie es nicht, den Index nicht verwendet, so dass Sie Ihre SQL neu zu schreiben, müssen ordnungsgemäß den Index verwenden.

G-Man

Eine andere Sache, hier darauf hinzuweisen ist, dass nur sehr selten werden Sie blättern in einem rohen Datensatz einfach begrenzt werden.

Sie können nach bestimmten Begriffen in einem suchen haben oder mehr Spalten Sie anzeigen, und dann sagen Art auf ein paar Spalten und dann den Benutzern die Möglichkeit, um durch diesen gefilterten Datensatz geben.

In einer Situation wie diese muss man vielleicht sehen, ob es besser wäre, diese Logik der Suche auf und / oder Client-Seite oder Server-Seite zu sortieren.

Eine andere Sache zu prüfen ist, dass Amazon Cloud Suche api Sie einige sehr mächtige gibt Fähigkeiten suchen und natürlich werden Sie wollen Cloud-Suche zu ermöglichen, für Sie zu behandeln Suchen und Sortieren, wenn Sie geschehen, Ihre Daten dort gehostet haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top