Ich frage mich, was ist das beste "Format" für die Daten, die zurück an das Javascript gesendet wird, um zu sein? Wann sollte ich eine JSON-Zeichenfolge oder einfach nur HTML verwenden? Gibt es neben diesen beiden noch andere Möglichkeiten?jQuery/AJAX - Antwortformat
Antwort
Es hängt davon ab, was die zurückgesendeten Daten sind und wie Sie sie verwenden möchten.
Vor- und Nachteile:
mit JSON-Daten und HTML-Generierung JavaScript mehr Last auf dem Browser und weniger Last auf einem Server, und keine Notwendigkeit, Code Präsentationslogik in die Seite, die das dient legt Daten. Und JSON-Daten sind normalerweise viel kleiner.
Die Verwendung von HTML-Daten und direkte Eingabe in die Seite bringt mehr Arbeit auf dem Server, bewirkt, dass die AJAX-Serving-Seite Präsentationslogik enthält. Wenn die Präsentationslogik jedoch bereits in Ihrem serverseitigen Code enthalten ist (direkt oder über die Vorlagensprache) und wenn Sie die Präsentationslogik in die JavaScript-Seite einfügen, müssen Sie sie von Grund auf neu entwickeln. Dies kann ein Vorteil anstelle des Nachteils sein.
Mit anderen Worten, verwenden JSON-Daten iff:
Ihre Seite wird andere, dass die JSON-Daten für Zwecke als einmalige Generierung von HTML. DUH.
Ihre Seite enthält bereits JavaScript-Logik, um den HTML-Code basierend auf den Daten zu erstellen, oder wenn eine solche Logik erstellt wird, sind die Entwicklungskosten sehr gering. Insbesondere, wenn das Gegenteil der Fall ist (z. B. das Setzen der HTML-Erzeugungslogik-Server-Seite erfordert und erhebliche Entwicklungskosten verursacht).
Die Kosten für die Ressourcenentfernung beim Konvertieren der Daten in HTML vom Server auf den Browser sind ein wichtiger Faktor.
JSON-Daten sind wesentlich kleiner als das produzierte HTML, was zu einer wesentlichen Reduzierung der übertragenen Daten führt. Dies beschleunigt sowohl die Serverausführung als auch die Netzwerkübertragung. Wir hatten tatsächlich eine 20-fache Beschleunigung einer komplexen baumanzeigenden App, indem wir Baumdaten als json anstelle von bereits erzeugtem HTML-Code übermittelten.
Die URL, die die Antwort erzeugt, kann als Dienst für andere Zwecke als diese eine Seite wiederverwendet werden, wenn die anderen möglichen/tatsächlichen Konsumenten den für diese bestimmte Seite generierten HTML-Code nicht 100% wiederverwenden könnten .
Möchten Sie mit den Daten in JavaScript arbeiten und dann das DOM aus diesen Daten erstellen? Verwenden Sie JSON-Zeichenfolgen.
Möchten Sie einfach etwas auf der Seite in einem Platzhalter ohne Logik ablegen? Verwenden Sie einfaches HTML.
JSON wird fast immer bevorzugt, vor allem, wenn Sie irgendeine Art von Fehlerbehandlung durchführen müssen. Wenn Sie nicht möchten, dass vorformatierter HTML-Code im DOM zurückgegeben wird, reicht die Rückgabe von einfachem HTML-Code aus.
Ich würde kaum sagen, dass JSON fast immer bevorzugt wird. Meistens weiß meine serverseitige Anwendung, wie das erstellte Markup besser formatiert werden kann.Der Server kann auch eine endgültige Markierung schneller als der Client erzeugen, was zu einer wahrgenommenen Leistungsverbesserung für den Client führt. –
- 1. WebMethod-Antwortformat
- 2. xmpp tls Antwortformat
- 3. Twilio Webhook SMS Antwortformat
- 4. Django JSon Antwortformat, verschachtelte Felder
- 5. Flask-RESTful - Rückgabe benutzerdefiniertes Antwortformat
- 6. Aufruf einer WebMethod jQueryAjax mit „GET“
- 7. Upload-Bild in einen Ordner jqueryajax
- 8. @ResponseBody, um verschiedene Antwortformat zu wählen
- 9. Organisation Kontoauthentifizierung von Leistungsabfrage Token Antwortformat
- 10. GET-Anfrage - gewünschtes Antwortformat im Parameter oder Accept-Header
- 11. FullCalendar Ereignisse JSON-Feed mit leicht unterschiedlichen Antwortformat
- 12. Get Data APDU-Befehl verschiedene Tags und Antwortformat
- 13. Wie testen Sie in Rails ein JavaScript-Antwortformat?
- 14. Wie bekomme ich die JSON-Antwort von Spring Controller auf JQueryAjax?
- 15. Wie bekomme ich JSON-Datenantwort vom Controller zu JQueryAjax mit Spring?
- 16. ASP.NET MVC-Skript-Bundle nicht gerendert
- 17. PHP Am besten rufen Sie mehrere REST und SOAP API und Parse
- 18. Wie kann ich die SonarQube-Webservice-API für Berichtszwecke verwenden?
- 19. Laravel Anfrage Validierungsnachricht
- 20. JSON AND XML-Format von einem .NET 3.5 WCF-Webdienst (REST) zurückgeben
- 21. So rufen Sie RESTFUL-Dienste von GWT auf?
- 22. Java - Gson Parsing verschachtelt verschachtelt
- 23. Wie testen Sie die benutzerdefinierte Fähigkeiten von Amazon Alexa während der Entwicklungsphase durch Ihren Computer?
- 24. Warum wird eine falsche Tweet-ID von der twitter-API zurückgegeben?
- 25. ASP.NET Modal Popup wird nur angezeigt, abgeblendet Seite
- 26. Wie kann ich den aktuell spielenden Song von der Audio-Scrobbler-API abrufen?
- 27. Google Geocoding API, HTTP, CSV-Daten in API v3
- 28. Eloquente Modellattribute als Kamelfall [Laravel 5.2] [Dingo API]
- 29. Webbasierte E-Mail-Antwort/Angebotscode verfügbar?
- 30. Wie Request oder HTTP-Modul zu lesen Gzip-Seite in eine Zeichenfolge
danke für die sehr detaillierte Antwort :) – Alex