2009-12-04 23 views
10

Me gusta eso, en estos días, tenemos una opción para cómo obtenemos nuestro contenido web del servidor: podemos hacer una solicitud HTTP antigua (con su propia URL en el navegador) o podemos hacer una llamada AJAX y reemplazar partes del DOM sobre la marcha.Obteniendo contenido: Llamada HTTP AJAX vs. "Regular"

Mi pregunta es esta: ¿cómo decides qué método usar cuando hay una opción para usar?

En los "viejos tiempos" tendríamos que volver a dibujar toda la página (incluidas las partes que no cambiaban) si queríamos mostrar contenido actualizado. Ahora que AJAX ha madurado, ya no necesitamos hacer eso; podríamos, concebiblemente, renderizar una "página" una vez y simplemente actualizar las partes cambiantes según sea necesario. Pero, ¿cuáles serían las consecuencias de hacerlo? ¿Existe una buena regla general para realizar una recarga de página completa frente a una recarga de página parcial a través de AJAX?

Respuesta

12

Si desea que las personas puedan marcar páginas individuales, utilice las solicitudes HTTP.

Si está cambiando el contexto, use las solicitudes HTTP.

Si está dividiendo la funcionalidad entre diferentes páginas para un mejor mantenimiento, use las solicitudes HTTP.

Si quiere maximizar sus visitas a la página, use las solicitudes HTTP.

Muchas buenas razones para seguir usando las solicitudes HTTP: el desbordamiento de la pila es un maravilloso ejemplo de las divisiones entre las solicitudes AJAX y HTTP. Averigüe por qué cada función es HTTP o AJAX y estoy seguro de que obtendrá muchos más motivos para usar cada una de ellas.

+3

Estoy muy interesado por esta discusión. Sin embargo, hay un punto que no entiendo: ¿qué quiere decir con "cambiar el contexto"? – balteo

+0

Cambiar el contexto en este caso sería algo así como: Estoy viendo la información de mi cuenta corriente Ahora estoy cambiando el contexto para ver las tasas de la hipoteca. No he salido del sitio de los bancos, pero mi tarea ha cambiado: he cambiado los contextos. – MikeEL

5

Mi regla simple:

Hagan todo ajax, especialmente si se trata de una aplicación no sólo las páginas de contenido. A menos que es probable que las personas deseen vincular contenido directo, como en un blog. Entonces es más fácil hacer páginas completas regulares.

Por supuesto, hay muchas combinaciones combinadas, no tiene que ser una o la otra completamente.

3

Una cantidad considerable de gastos generales de desarrollo se destina a recargas de página parcial con AJAX. Debe crear controladores de JavaScript adicionales para todos los datos devueltos. Si devolviera bloques completos de HTML, igual debería especificar a dónde debe ir el contenido y si está reemplazando o no otro contenido. Es posible que tenga que volver a procesar etiquetas de encabezado para reflejar los cambios de contenido y deberá implementar una solución de historial para asegurarse de que los motores de búsqueda puedan indexar cada página (por ejemplo, usando el complemento jQuery SWFAddress). Si devuelve datos codificados JSON, tiene un paso de procesamiento adicional.

La compensación para el uso de ancho de banda reducido al no usar una actualización de página se compensa con un aumento en el código JS y enlaces de eventos que podrían afectar la velocidad de representación de página así como los efectos visuales.

Todo depende realmente de su público objetivo y la sensación general que está tratando de encontrar en su página. AJAX y precargadores son llamativos, y la gente ama cosas llamativas. Si cree que la experiencia del usuario final mejorará al agregar cargas de página parciales, impleméntelas.