Nwlapcug.com


Come sincronizzare le chiamate Ajax



AJAX, acronimo di Asynchronous JavaScript and XML, è un metodo di fare le richieste da un server senza ricaricare un'intera pagina Web. Consente di multitasking e il rapido recupero delle informazioni. Facendo lo stesso tipo di richieste in modo sincrono può sembrare per sconfiggere lo scopo, perché si perde la capacità di multitasking e il browser rimane il tenere premuto fino a quando la richiesta è completa. Tuttavia, che può essere esattamente quello che vuoi fare, come quando si desidera finalizzare una transazione o assicurarsi che una richiesta sia completa prima di eseguire un altro.

Istruzioni

1

Creare una pagina Web in un editor di testo che non fa la formattazione del testo. All'interno dei tag head, un'apertura di tipo script tag, un'apertura commento HTML e l'apertura di una funzione JavaScript per fare richieste sincrone di AJAX. Ad esempio, digitare:

< script language = "javascript" type = "text/javascript" >

<!...

Function syncCall() () {

2

Inizializzare una variabile per l'oggetto di richiesta, la struttura di dati che è necessario specificare quando si chiama altre funzioni AJAX. I browser moderni utilizzano l'oggetto "XMLHttpRequest", ma assicurarsi che il browser supporti prima di creare l'oggetto. Se non è supportato, creare un "ActiveXObject." Ad esempio, digitare:

var xmlhttp; //initialize variabile di oggetto di richiesta

Se (finestra. XMLHttpRequest) {

XMLHTTP = new XMLHttpRequest (); //create oggetto

} else {

XMLHTTP = new ActiveXObject ("Microsoft. XMLHTTP"); //code per i vecchi browser

}

3

Inviare la richiesta al server utilizzando le funzioni di "aperte" e "Invia" di JavaScript. Il primo parametro per la funzione open è il tipo di richiesta, per esempio, "GET" o "POST". Se avete bisogno di inviare dati al server, utilizzare POST. Il secondo parametro è l'URL dello script gestore di richieste, e il terzo parametro è un valore booleano per specificare se la richiesta è asincrona o non. Per una richiesta sincrona, è necessario impostare questo parametro su false.

Se stai facendo la richiesta con il metodo POST, impostare l'intestazione di richiesta e impostare il parametro della funzione Invia a una stringa contenente i dati che si desidera inviare. Utilizza la stessa sintassi come utilizzato quando si passa la variabile tramite URL, ad esempio "lastname = Smith & firstname = Tyler." Ad esempio, digitare:

XMLHTTP.Open ("POST", "l'http://www.yourdomain.com/output.php", false);

xmlhttp.setRequestHeader ("Content-type", "application/x-www-form-urlencoded");

XMLHTTP.Send("Name=Joe");

Per il metodo GET, è necessario impostare il parametro send su null. Ad esempio, digitare:

XMLHTTP.Open ("GET", "l'http://www.yourdomain.com/output.php", false);

XMLHTTP.Send(null);

4

Elaborare i dati ricevuti dalla richiesta. Per l'esempio corrente, inserire i dati in un elemento HTML specificato da un ID univoco, utilizzando la funzione "responseText". Chiudere la funzione, il commento HTML e il tag di script:

document.getElementById("output").innerHTML = responseText;

}

-->

< / script >

5

Includere nel codice della tua pagina Web un gestore di eventi JavaScript che chiamerà la funzione che hai scritto. Aggiungere il markup dove i dati restituiti verranno visualizzati e salvare il file. Ad esempio, digitare:

< a href = "#" target = self"onClick="syncCall() "> Fai clic qui </a >

< div id = "output" >< / div >

Questo crea un link di testo, che chiama la funzione quando cliccato. Quando viene ricevuta la risposta, l'output viene visualizzato all'interno dei tag div con l'etichetta "output".

6

Aprire una nuova pagina nell'editor di testo e creare uno script di gestore richieste. Lo script ha bisogno semplicemente di visualizzare l'output, ad esempio con la funzione "eco" di PHP o ASP "scrivere" funzione. Se si stanno inviando dati mediante il metodo POST, recuperare i dati con il "$ post" matrice. Salvare lo script e caricare sul vostro server. Ad esempio, digitare:

<? php

Se (isset($_POST['name'])) {

$name = $_POST['name'];

} else {

$name = "World";

}

echo "Hello". $name. "!";

? >

7

Aprire la pagina Web in un browser e attivare il gestore eventi. Nell'esempio dato, che comporta semplicemente facendo clic sul link. I risultati della richiesta dovrebbero apparire dove specificato.

Consigli & Avvertenze

  • Qualsiasi problema con il server può causare il browser appendere, quindi non utilizzare sincrona chiama a meno che necessario.