Me preguntaba ¿cuál es el mejor "formato" para los datos que se envían de regreso a la javascript? ¿Cuándo debería usar una cadena JSON o simplemente HTML? ¿Hay otras opciones además de estas dos?jQuery/AJAX - formato de respuesta
Respuesta
Depende de la información que se envíe de vuelta y cómo planea usarla.
pros y contras:
Utilizando los datos JSON y la generación de HTML JavaScript pone más carga en el navegador y menos carga en el servidor, además no hay necesidad de la lógica de presentación código en la página que sirve a la datos. Y los datos JSON suelen ser mucho más pequeños.
Usar datos HTML e inyectar directamente en la página pone más trabajo en el servidor, hace que la página que sirve AJAX contenga la lógica de presentación. Sin embargo, si la lógica de presentación ya está contenida en su código del lado del servidor (directamente oa través del lenguaje de plantillas) y colocar dicha lógica de presentación en el lado de JavaScript necesitaría desarrollarla desde cero, puede ser un beneficio en lugar de ser un inconveniente.
En otras palabras, si y sólo si utiliza JSON datos:
Su página utilizará esos datos JSON para fines distintos de la generación de una sola vez de HTML. DUH.
Su página ya contiene la lógica de JavaScript para construir el código HTML basado en los datos, o si la creación de dicha lógica es muy fácil de coste de desarrollo. Especialmente si lo opuesto es cierto (por ejemplo, poner la lógica de generación de HTML en el lado del servidor necesita hacerse y presenta un costo de desarrollo significativo).
El gasto de recursos de descarga de convertir los datos en HTML desde el servidor al navegador es una consideración importante.
Los datos JSON son significativamente más pequeños que el HTML producido, lo que resulta en una MAYOR reducción de los datos transmitidos. Esto acelera tanto la ejecución del servidor como la transmisión de la red. De hecho, tuvimos una aceleración de 20x de una aplicación de visualización de árbol compleja al transmitir datos de árbol como json en lugar de código HTML ya generado.
La URL que produce la respuesta se puede reutilizar como un servicio para fines distintos a esta página, si los otros consumidores posibles/reales no podrían reutilizar al 100% el código HTML generado para esta página específica .
¿Desea trabajar con los datos en JavaScript y luego generar el DOM a partir de esos datos? Use cadenas JSON.
¿Simplemente desea descargar algo en la página en un marcador de posición sin ninguna lógica? Use HTML simple.
json es casi siempre preferido, especialmente si necesita realizar algún tipo de manejo de errores. Si no lo hace y solo quiere devolver el HTML preformateado para colocarlo en el DOM, entonces devolver el HTML simple será suficiente.
No me gustaría decir que JSON es casi siempre preferido. La mayoría de las veces, mi aplicación del lado del servidor sabe cómo formatear mejor el marcado que se produce.El servidor también puede producir un marcado final más rápido que el cliente, lo que lleva a una mejora en el rendimiento percibido del cliente. –
- 1. Llamar a un WebMethod usando jQueryAjax "GET"
- 2. ASP.NET JSON servicio web Respuesta formato
- 3. Obtención de encabezados de respuesta HTTP sin formato
- 4. Cómo analizar una respuesta HTTP sin formato como HttpListenerResponse?
- 5. Como respuesta con formato JSON usando Rubí rack middleware
- 6. En Rails, ¿cómo comprueba la funcionalidad de un formato de respuesta de Javascript?
- 7. Tipo de contenido de respuesta como CSV
- 8. Cómo incluir el formato del cuerpo de respuesta JSON en los documentos generados por Enunciate?
- 9. ¿Cómo obtengo la respuesta JSON sin formato de una solicitud jQuery $ .getJSON()?
- 10. ¿Cómo enviar una solicitud SOAP y analizar la respuesta SOAP en formato XML en Android?
- 11. Rails compresión/minificación de JavaScript en respuesta a Javascript respuesta?
- 12. Django - respuesta de color?
- 13. respuesta de lectura HttpPost
- 14. Respuesta lenta de getaddrinfo
- 15. de análisis HTTParty respuesta
- 16. Respuesta UDP
- 17. "% s"% formato vs "{0}". Formato() vs "?" Formato
- 18. Establecer código de estado de respuesta
- 19. Piston personalizar la representación de respuesta
- 20. Obtenga la longitud de jQquery Respuesta Ajax
- 21. de análisis de respuesta SOAP
- 22. Capacidad de respuesta de CLLocationManager
- 23. Fortran formato de archivo sin formato
- 24. Convertir de formato largo a formato
- 25. carriles 3 formato de respuesta y control de versiones utilizando el tipo de proveedor MIME en el encabezado Accept
- 26. Datos/respuesta de búferes del protocolo de volcado
- 27. JQuery Número de formato
- 28. milisegundos formato a formato SimpleDate
- 29. Devolver códigos de respuesta RESTful en Play
- 30. Varianza del tiempo de respuesta de AppEngine
gracias por la respuesta muy detallada :) – Alex