2010-04-06 22 views
10

llamadas jquery ajax hace la vida muy fresco sin refrescar la página ... Pero todavía interesados ​​en conocer algunas de las ventajas y desventajas de realizar llamadas Ajax con jQuery ....¿Cuáles son las ventajas y desventajas de hacer llamadas ajax usando jquery? Como

Como estoy usando las llamadas ajax para todos mi Agregar, editar y eliminar las operaciones en mi página web funciona bastante bien a partir de ahora ... Aún sabiendo acerca de las desventajas haría la vida más fácil durante el despliegue ....

+0

lo preguntas acerca * Ajax con jQuery * específicamente, o ajax en general? – bzlm

+0

'ajax con jQuery' solo ... –

Respuesta

8

El mejor uso de AJAX es donde se utiliza para enviar pequeñas cargas útiles. Aquí hay un ejemplo simple.

Carga una página que contiene información sobre stock. Tiene gráficos, tablas, información de la compañía y también muestra el precio de las acciones. Cada 30 segundos, realizo una solicitud de AJAX que obtiene el precio de las acciones actualizado y lo cambia en la página.

Sin AJAX, podría decidir actualizar toda la página cada 30 segundos, pero con AJAX, puedo hacer un pedido ligero para obtener la información mínima que necesito.

El uso de AJAX para enviar formularios no es siempre la mejor opción. Además de no brindarle una clara ventaja sobre publicar el formulario normalmente, rompe las convenciones como el historial del navegador (aunque algunos navegadores ahora incluyen "estados" de JavaScript como páginas en el historial).

Al usar AJAX, debe encargarse de decirle al usuario si algo salió mal. Puede hacer esto con jQuery especificando lo que debería suceder por error, pero muchas personas olvidan hacerlo y el usuario final no tiene conocimiento de ningún problema.

Otros problemas a tener en cuenta son los errores de JavaScript que pueden impedir que sus eventos se activen, o si JavaScript está deshabilitado, en cualquier caso asegurarse de que el formulario puede enviar normalmente antes de agregar el código AJAX es la opción más segura.

7

PRO:

en muchos casos , las páginas relacionadas en un sitio web consisten en mucho contenido que es común entre ellos. Usando métodos tradicionales, ese contenido debería ser recargado en cada solicitud. Sin embargo, al utilizar Ajax, una aplicación web puede solicitar solo el contenido que necesita actualizarse, lo que reduce drásticamente el uso del ancho de banda y el tiempo de carga.

El uso de solicitudes asincrónicas permite que la IU del navegador web del cliente sea más interactiva y responda rápidamente a las entradas, y las secciones de páginas también se pueden volver a cargar individualmente. Los usuarios pueden percibir que la aplicación es más rápida o más receptiva, incluso si la aplicación no ha cambiado en el lado del servidor.

El uso de Ajax puede reducir las conexiones al servidor, ya que los scripts y las hojas de estilo solo deben solicitarse una vez. [12]

El estado se puede mantener a través de un sitio web. Las variables de JavaScript persistirán porque no es necesario volver a cargar la página del contenedor principal.

CON:

> Debido a su naturaleza dinámica, las interfaces Ajax son a menudo más difícil de desarrollar, en comparación con las páginas estáticas. Las páginas creadas dinámicamente con sucesivas solicitudes Ajax no se registran automáticamente en el motor de historial del navegador, por lo que al hacer clic en el botón "Atrás" del navegador puede que el usuario no vuelva a un estado anterior de la página habilitada para Ajax, pero en su lugar puede regresar. a la última página completa visitada antes. Las soluciones incluyen el uso de IFrames invisibles para desencadenar cambios en el historial del navegador y cambiar la parte del ancla de la URL (después de un #) cuando se ejecuta Ajax y supervisar los cambios.

Las actualizaciones dinámicas de la página web también dificultan que un usuario marque un estado particular de la aplicación. Existen soluciones para este problema, muchas de las cuales usan el identificador de fragmento de URL (la parte de una URL después del '#') para hacer un seguimiento y permitir a los usuarios regresar a la aplicación en un estado determinado.

Dado que la mayoría de los rastreadores web no ejecutan código JavaScript, las aplicaciones web públicamente indexables deben proporcionar un medio alternativo para acceder al contenido que normalmente se recuperaría con Ajax, para permitir que los motores de búsqueda lo indicen.

Cualquier usuario cuyo navegador no admita JavaScript o XMLHttpRequest, o simplemente tenga esta funcionalidad deshabilitada, no podrá usar correctamente las páginas que dependen de Ajax. Del mismo modo, dispositivos como teléfonos móviles, PDA y lectores de pantalla pueden no tener soporte para las tecnologías requeridas. Los lectores de pantalla que pueden usar Ajax aún no pueden leer correctamente el contenido generado dinámicamente. La única forma de permitir que el usuario lleve a cabo la funcionalidad es recurrir a métodos que no sean JavaScript. Esto se puede lograr asegurándose de que los enlaces y formularios se puedan resolver adecuadamente y no dependan únicamente de Ajax. En JavaScript, el envío del formulario podría detenerse con "return false".

La misma política de origen impide que se utilicen algunas técnicas de Ajax en todos los dominios, aunque el W3C tiene un borrador del objeto XMLHttpRequest que habilitaría esta funcionalidad.

Al igual que otras tecnologías web, Ajax tiene su propio conjunto de vulnerabilidades que los desarrolladores deben abordar. Los desarrolladores familiarizados con otras tecnologías web pueden tener que aprender nuevas pruebas y métodos de codificación para escribir aplicaciones Ajax seguras.

Las interfaces impulsadas por Ajax pueden aumentar drásticamente el número de solicitudes generadas por el usuario a los servidores web y sus back-ends (bases de datos, u otros). Esto puede conducir a tiempos de respuesta más largos y/o necesidades de hardware adicionales.

wikipedia.org

+1

Todos suenan como ventajas ... – mpen

5

Bueno, jAndy parece tener las ventajas clavadas, y parece que ya conoce las ventajas, o no las estaría usando.

El inconveniente es que rebobina el botón de retroceso de su navegador si está cargando en páginas enteras (sí, esto también se puede arreglar a través de más hechizos JS). Pero si todo tu sitio depende de ajax, entonces probablemente no funcionará con JS desactivado. Además, no produce muy buenas URL. Si desea vincular a su amigo a una página específica en un sitio intensivo de ajax, y suponiendo que ha hecho su hechicería JS para que esto sea realmente posible (modificando la URL después del carácter #), todavía tiene que cargar el principal primero la página, y luego espere a que el JS entre en acción antes de que pueda ajax-cargar el contenido que realmente le interesa. Encuentro que esto realmente da más lento tiempo de respuesta percibida, que no me gusta para nada. Amo ajax, pero no me gusta para cosas de página completa.

2

Su larga historia de batallas entre el navegador y las especificaciones que terminan en un caos real. Nosotros como desarrolladores lo comprendemos cuando nos damos cuenta de que estamos dedicando más tiempo a resolver problemas específicos de navegadores cruzados en lugar de resolver la lógica/problema de la programación empresarial.

+ ve

  1. Sin navegadores dolor
  2. U puede confiar en que el buen desarrollador de haber pasado allí tiempo y energía haciendo biblioteca
  3. U puede centrarse más en un problema real y no sobre los efectos secundarios
  4. Las API son buenas. Si alguien le dice al desarrollador de UI que ajax, HTTP, JavaScrtip bla bla bla ........ La función simple OFFFF siempre es excelente Ajax.call (url, callbackfunction, param). Eso es todo lo que buscamos la mayoría de las veces.
  5. gran ahorro de tiempo :) yu puede disfrutar de las fiestas sin fines de trabajo nocturno

-ve

  1. T tocará en superficie plana y la piel de ahorro de dolores de cabeza que son buenas para nosotros, como el software ingenieros
  2. Si utiliza algún generador de perfiles, encontrará pocas docenas de llamadas realizadas dentro de esa función para hacer las cosas usando una biblioteca que consume pocos de MILLISECONDS. pero esto no es realmente un gran problema teniendo en cuenta el tiempo que ahorramos durante el desarrollo
  3. Tienes que confiar en la biblioteca con respecto a lo que dicen. Entonces, sugeriré que me limite solo a los buenos. Y sí U R usando uno de los mejores

esperanza de que ayudó,

Cuestiones relacionadas