2010-02-13 13 views
5

Sto sviluppando un progetto Ajax, ma sto confondendo in qualcosaè meglio o raggruppare le mie richieste Ajax o inviare ogni richiesta separatamente?

ho 3 funzioni che inviano dati al server ogni funzione ha un determinato lavoro.

è meglio raggruppare la richiesta Ajax che verrà inviata da ciascuna funzione e inviarla in un'unica grande richiesta. che ridurrà le mie richieste conta il tempo &. o inviare ciascuna richiesta separatamente, che ridurrà il tempo di esecuzione per il mio codice sul lato server, ma farà molte richieste.

P.S: per la mia applicazione funziona in entrambi i casi.

risposta

1

Se riesci a consolidarli in un'unica richiesta, ordinatamente, ti suggerisco di farlo. I browser imposteranno restrizioni sul numero di richieste che è possibile effettuare simultaneamente (possono essere fino a 2), così come molti server.

Naturalmente, come sempre, ci sono delle eccezioni. Se si dispone di alcuni dati che è necessario interrogare ogni 10 secondi e altri dati devono essere interrogati ogni 10 minuti, non è davvero necessario interrogare i dati di 10 minuti insieme ai dati di 10 secondi ogni 10 secondi.

Forse una singola richiesta con opzioni che controllano ciò che viene rinviato. È possibile richiedere grandi quantità di dati o piccole quantità di dati, tutti dalla stessa richiesta a seconda delle opzioni che si accompagnano alla richiesta stessa.

Solo teoria.

+0

Sono davvero con questa soluzione, ma ho trovato molti famosi progetti Ajax online che gestiscono ogni richiesta separatamente, anche se possono essere gestiti tutti insieme – trrrrrrm

+0

Le richieste individuali non sono necessariamente cattive. Volevo solo sottolineare che hai altre preoccupazioni quando segui questa strada. Non conoscendo le specifiche del tuo progetto, non posso offrire molto di più. Buona fortuna! – Sampson

+0

grazie o il tuo aiuto, sono nella situazione in cui ho una funzione che richiede circa 10 secondi per inviare una richiesta e un'altra che verrà inviata come ogni 1 minuto, ma sto pensando di fare un timeout per i 10 secondi funzione, ma se c'è una richiesta che verrà inviata dalla funzione 1 min prenderà anche i dati di 10 secondi e resetterà il suo timer, cosa ne pensi. grazie per il tuo aiuto – trrrrrrm

1

Ci sono diversi fattori coinvolti qui.

  • Metterli insieme sul client ha il vantaggio del cliente di fare più del lavoro, che è buono.
  • Tutti tranne i browser più recenti consentono solo 2 richieste allo stesso dominio alla volta. Se hai molta latenza, ciò causerebbe il desiderio di raggruppare le richieste insieme se stanno andando allo stesso dominio. Tuttavia, i browser più recenti consentono 8 richieste alla volta, quindi questo problema scomparirà gradualmente.

Ma d'altra parte

  • Do le richieste hanno bisogno di tutti riceveranno allo stesso tempo? Mantenere separate le richieste ti consentirà di mantenere la flessibilità.
  • Probabilmente il più importante: mantenere la richiesta separata probabilmente porterà a un codice più semplice e manutenibile.

Suggerirei di fare tutto ciò mantenendo il codice sul browser semplice. Javascript (o framework che fanno ajax per te) è abbastanza difficile da mantenere e coordinare. Keep it simple!

Problemi correlati