Cosa succede per ottenere informazioni sul database sul lato server con AJAX?

1

Sono un po 'confuso su come funziona AJAX. Capisco principalmente il modello PHP / MySQL di recupero delle informazioni del database per l'utente, ma come fa AJAX a farlo?

Da quello che ho capito il motore AJAX invia una richiesta HTTP al backend che fa un po 'di magia e restituisce dati XML al motore AJAX che lo traduce in HTML + CSS per l'utente, ma cosa succede quando lo manda per primo Richiesta HTTP al back-end? Un linguaggio lato server funge da intermediario per ottenere dati dal database per il resto del processo?

Inoltre, HTML5 apporta ulteriori effetti sull'uso di AJAX?

    
posta Ein Doofus 16.06.2011 - 03:29
fonte

3 risposte

1

Is a server-side language acting as the middleman there to get data from the database for the rest of the process?

Sì. Questo è esattamente ciò che sta accadendo. Proprio come un browser fa una richiesta HTTP per una pagina e il tuo backend serve quella pagina, così il tuo codice AJAX fa una richiesta HTTP e il tuo backend serve quello . Sia che stia eseguendo l'accesso al database, elaborando e poi servendo una pagina HTML, o che stia facendo l'accesso al database, elaborando e quindi servendo un documento XML, non ci sono enormi differenze nel flusso.

In effetti non è sconosciuto recuperare gli snippet HTML tramite AJA "X", che vengono poi inseriti direttamente nel DOM della pagina senza bisogno di alcuna traduzione, il che rende l'intero processo ancora più simile.

    
risposta data 16.06.2011 - 03:42
fonte
1

the AJAX engine sends an HTTP request

Lì non c'è un vero motore Ajax. È il browser che avvia una richiesta. Normalmente per avviare una richiesta un utente deve eseguire alcune azioni: immettere un indirizzo nel browser e premere Invio, aggiornare la pagina, fare clic su un collegamento in una pagina, inviare un modulo. Ciò porterà il browser a sostituire la pagina con una nuova, qualunque sia il risultato della richiesta.

Ora ciò che è noto come Ajax è la possibilità di avviare tale richiesta dal codice JavaScript. Ciò non impedirà al browser di sostituire il contenuto della pagina. Ottenete la risposta dal server e potete farne tutto ciò che volete. Solitamente la risposta viene utilizzata per aggiornare la struttura del documento corrente (la pagina che hai aperto nel tuo browser) come iniettare div extra, eliminarne alcune, sostituirle con le nuove informazioni ricevute ecc.

Per il server non fa assolutamente differenza chi ha inviato la richiesta. Il browser direttamente, il codice JavaScript, qualche altro software da qualsiasi parte del web - non importa. Il server "pensa" solo in termini di richieste e risposte. Il server può inviare qualsiasi cosa indietro come risposta: una pagina HTML completa da visualizzare in un browser, una porzione di testo casuale, alcuni dati formattati come XML, dati in formato JSON, qualche flusso binario (un'immagine o qualcosa del genere). È un'infrastruttura molto aperta e molto flessibile.

Le richieste Ajax tipicamente parziali vengono utilizzate per ottenere alcune informazioni parziali per aggiornare una parte della pagina. Ma puoi inventare qualsiasi scenario tu voglia.

Di solito per una richiesta avviata via JavaScript un'ulteriore intestazione viene aggiunta alla richiesta:

ècosìchepuoiscopriresulserverchetipodirichiestaera(setiserve).PotrestifornireunarispostaparzialeaunarichiestaAjaxeunapaginainteraaunarichiestacompleta.

P.S.LatecnicavienesolitamentescrittacomeAjax(sololaprimaletteraèinmaiuscolo).LanotazionediAJAXèstataassociataalla libreria AJAX di Microsoft ASP.NET .

    
risposta data 16.06.2011 - 04:44
fonte
0

Sono ancora leggermente confuso riguardo alla parte lato server. AJAX interagisce con .Net / PHP / Java per parlare con il database? Oppure può interagire con il database senza quell'intermediario?

In risposta a questo ... No, per quanto ne so, non vi è alcun modo in cui la richiesta HTTP possa accedere al database senza un linguaggio di programmazione o di scripting.

La richiesta HTTP è uguale al tuo browser e richiede la pagina come faresti con il tuo browser.

    
risposta data 17.06.2011 - 13:59
fonte

Leggi altre domande sui tag