2010-02-13 15 views
5

Estoy desarrollando un proyecto ajax, pero estoy confundido en algo¿es mejor o agrupar mis solicitudes de AJAX o enviar todas las solicitudes por separado?

tengo 3 funciones que envían datos al servidor cada función tiene un trabajo determinado.

es mejor agrupar la solicitud de ajax que se enviará desde cada función y enviarla en una gran solicitud. que reducirá mis solicitudes cuenta & tiempo. o envíe cada solicitud por separado, lo que reducirá el tiempo de ejecución de mi código en el servidor, pero hará muchas solicitudes.

P.S: para mi aplicación funciona en ambos casos.

Respuesta

1

Si puede consolidarlos en una sola solicitud, claramente, le sugiero que haga eso. Los navegadores impondrán restricciones sobre la cantidad de solicitudes que puede realizar simultáneamente (puede ser tan bajo como 2), al igual que muchos servidores.

Por supuesto, como siempre, hay excepciones. Si tiene algunos datos que necesita consultar cada 10 segundos y otros datos que necesita consultar cada 10 minutos, en realidad no es necesario consultar los datos de 10 minutos junto con los datos de 10 segundos cada 10 segundos.

Quizás una sola solicitud con opciones que controlan lo que se devuelve. Puede solicitar grandes cantidades de datos o pequeñas cantidades de datos, todo desde la misma solicitud, dependiendo de las opciones que transfiera junto con la solicitud en sí.

Just theory.

+0

estoy realmente con esta solución, pero encontré muchos proyectos famosos de ajax en línea que manejan cada solicitud por separado, aunque eso se puede manejar todos juntos – trrrrrrm

+0

Las solicitudes individuales no son necesariamente malas. Solo quería señalar que tienes otras preocupaciones cuando vas por esa ruta. Sin conocer los detalles de su proyecto, no puedo ofrecer mucho más que eso. ¡La mejor de las suertes! – Sampson

+0

gracias o su ayuda, estoy en la situación en la que tengo una función que necesita como 10 segundos para enviar una solicitud y otra que se enviará como cada 1 minuto, pero estoy pensando en hacer un tiempo de espera para los 10 segundos función, pero si hay una solicitud que se enviará desde la función de 1 minuto, también tomará los datos de 10 segundos y restablecerá su temporizador, ¿qué opinas? gracias por su ayuda – trrrrrrm

1

Hay varios factores involucrados aquí.

  • Ponerlas juntas en el cliente tiene la ventaja de que el cliente hace más del trabajo, lo cual es bueno.
  • Todos los navegadores más nuevos solo permiten 2 solicitudes al mismo dominio a la vez. Si tiene mucha latencia, esto podría querer agrupar solicitudes si van al mismo dominio. Sin embargo, los navegadores más nuevos permiten 8 solicitudes a la vez, por lo que este problema desaparecerá gradualmente.

Pero, por otro lado

  • ¿Las solicitudes necesidad de todos serán al mismo tiempo? Mantener las solicitudes separadas le permitirá mantener la flexibilidad.
  • Probablemente el más importante: mantener la solicitud separada probablemente dará como resultado un código más fácil de mantener.

Sugeriría hacer lo que sea que mantenga el código en el navegador directo. Javascript (o frameworks que hacen ajax para usted) es lo suficientemente difícil de mantener y coordinar. ¡Mantenlo simple!

Cuestiones relacionadas