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.