Evita chiamata AJAX iniziale per il caricamento dei dati

4

Ecco la tipica sequenza di eventi quando qualcuno naviga verso una pagina nella mia applicazione:

  • L'utente naviga verso la mia applicazione, inclusi i parametri URL e le stringhe di query.
  • Il server riceve la richiesta e genera l'HTML
  • Sul client, AngularJS acquisisce tutti i parametri e effettua una chiamata AJAX
  • I dati risultanti vengono quindi associati

Personalmente, trovo un po 'dispendioso che ciò richieda due colpi al server. Porta a un ritardo tra l'HTML che viene restituito e gli input che vengono popolati.

Mi manca qualcosa? C'è un modo per evitare di andare avanti e indietro la prima volta?

    
posta Travis Parks 14.01.2014 - 02:11
fonte

2 risposte

4

Non conosco le specifiche dell'angolare, ma non vi è alcun motivo per non inserire direttamente i dati iniziali nella pagina. In backbone Fact suggerisce di fare esattamente questo. Tutto quello che dovresti fare è inserire nel tuo template qualcosa del genere

<script>
var initial_data = {json with your data here};
</script>

Dove viene iniettato il json da qualsiasi framework lato server che si sta utilizzando.

    
risposta data 14.01.2014 - 03:27
fonte
-1

The server receives the request and generates the HTML

Un'applicazione a una pagina dovrebbe essere uno scheletro, alcune viste e alcuni modelli (MV *). Penso che non sia corretto affermare che, alla prima chiamata, il server genera l'HTML . Infatti, Angular, o backbone, o qualsiasi altro framework Javascript, vogliono manipolare il DOM (e lo fanno molto bene).

Il ruolo del server e la prima chiamata è la risposta con uno scheletro. Da quel momento in poi, il lavoro del server è gestire RESTful.

Quello che sto considerando è che la creazione di Applicazioni Web ibride (dove un'applicazione ASP.NET o PHP incontrano MV *) può essere un po 'di confusione, soprattutto perché probabilmente stanno generando molto HTML nel loro nucleo.

Quindi il potenziale di Angular.js (o ...) è ridotto (mescolando entrambe le filosofie), proprio perché sul lato server, ci sono ancora molti processi di trasformazione del DOM, e il framework javascript è pronto per essere gestito questo al 100%, ma lo fa solo in parte.

    
risposta data 14.01.2014 - 07:45
fonte

Leggi altre domande sui tag