Derzeit möchte ich die Informationen der Schüler auf einer Webseite anzeigen. Wenn diese Webseite geladen wird, sendet ein Server die Informationen aller Schüler (möglicherweise mehr als 1000) an eine js-Datei, die zum Anzeigen von Informationen auf dieser Webseite verwendet wird. Nachdem ein Benutzer einige Filteroptionen (z. B. den Kurs oder das Land des Schülers) ausgewählt hat, ist es eine gute Idee, diese Filteroptionen an den Server zu senden und einige Informationen darüber zu senden, welche Informationen für Schüler angezeigt werden sollen. Tatsächlich kann die Verfeinerung innerhalb der js-Datei durchgeführt werden, ohne Daten an den Server zu senden. Ich habe einfach das Gefühl, dass es sinnlos ist, Filteroptionen an den Server zu senden. Wann müssen wir in meinem Fall Daten an den Server senden? Soll ich beim Laden der Webseite alle Schülerinformationen senden?Wann müssen wir Daten an den Server senden?
Antwort
Da niemand die Einträge von über 1000 Schülern gleichzeitig liest, ist es möglicherweise eine gute Idee, nur so viele Ergebnisse abzurufen, wie Sie zunächst anzeigen müssen.
Wenn Sie beispielsweise die Seitennumerierung verwenden und der Standardwert 50 Ergebnisse pro Seite anzeigt, rufen Sie nur die ersten 50 Ergebnisse ab. Wenn ein Filter vorliegt, fragen Sie Ihren Server erneut mit diesen Filterregeln ab und zeigen Sie die relevanten Ergebnisse an.
Wenn Sie jedoch die 1000+ Ergebnisse auf einmal verwenden müssen, sehe ich keine Notwendigkeit, den Server abzufragen. Es ist im Grunde nutzlos, da Sie bereits alle Daten auf der Client-Seite haben. Filtern Sie es nur lokal.
Auch hier empfehle ich dringend, Ihre Vorgehensweise so zu ändern, dass nur das abgerufen wird, was Sie jedes Mal anzeigen müssen.
Viel Glück
Sie einen Blick auf diesen Link sollte es eine ähnliche Art von Frage ist. https://softwareengineering.stackexchange.com/questions/215998/display-large-amount-of-data-to-client-through-pagination
Danke, ich werde es mir ansehen. – InterestingDroplet
- 1. Wann müssen wir java.sql.Connection.rollback() aufrufen?
- 2. Firebase FCM-Token - Wann an den Server senden?
- 3. Winkelrouten senden Daten an den Server
- 4. Einheit Photon Daten an den Server senden
- 5. Qt: Daten an den Server senden
- 6. Wann müssen wir einen Proxy-Service erstellen und wann müssen wir Rest Api erstellen?
- 7. Wann müssen wir [Browsable (true)] verwenden?
- 8. Android: Daten an Server senden
- 9. Wann müssen wir std :: string :: capacity() aufrufen?
- 10. Wann müssen wir den überprüften Operator in C# verwenden?
- 11. Wann müssen wir delegate mit "static" voranstellen?
- 12. Senden ausgewählter Daten an Server
- 13. Warum/wann müssen wir super.ViewDidLoad aufrufen?
- 14. Wann müssen wir float.PositiveInfinity und float.NegativeInfinity verwenden?
- 15. ExtJS Senden von Daten an den Server über UDP
- 16. Senden Sie Daten an den Server in Javascript (tcp like)
- 17. Nicht möglich, Daten an den Server mit Volley android senden
- 18. Wie kann der Server Daten an den Client senden?
- 19. senden Daten an den Server mithilfe von https mit CURL
- 20. Senden von Daten an den Server in swift3 und firebase
- 21. Daten an den Server senden, wenn App Hintergrund ist
- 22. In ARC müssen wir removeObserver senden: explizit?
- 23. JSON-Daten an Laravel-Server senden
- 24. Wann können wir den Typ-Parameter
- 25. AJAX senden Daten an Node.js Server
- 26. Wann müssen Sie Argumente an `Thread.new` übergeben?
- 27. Senden Sie eine Beitragsanfrage an den Server
- 28. Senden mehrerer Anfrage an den Server
- 29. Node.js http - GET-Daten an den Server
- 30. Welche Bedingungen müssen erfüllt sein, damit TestFlight Aktivitäten an den Server senden kann?
Warum ist eine js-Datei beteiligt? Warum fragt man nicht einfach die Datenbank auf Basis der Filterwerte in Echtzeit ab und sendet die passenden Datensätze zurück? –
Ich stimme mit Alex K. Die Verwendung mehrerer Abfragen für Filterzwecke ist der Weg zu gehen. – Landslyde
Aber auf der Client-Seite sollte es einen Platz haben, um Informationen der Schüler zu speichern, sonst wie man Daten anzeigt? – InterestingDroplet