Come codificare i parametri in AJAX

April 28

Come codificare i parametri in AJAX


Asynchronous JavaScript and XML, o AJAX, è un metodo di programmazione che consente di inviare e recuperare i dati da una pagina Web in background senza ricaricare la pagina. Quando si invia i parametri con AJAX, è necessario codificare i parametri a seconda di come il server destinatario li sta aspettando. Se il server è in attesa di parametri con l'URL o come dati XML, creare una stringa e codificarlo con "encodeURI." Se il server è in attesa JavaScript Object Notation, o JSON, creare un oggetto JSON e passare una stringa dell'oggetto.

istruzione

1 I parametri da codificare e memorizzarli in variabili. Per esempio:

Nome var = getElementById ( "nome") del valore.;
var email = getElementById ( "e-mail") del valore.;

2 Creare una stringa che passa i parametri con l'URL se il programma server si aspetta i parametri passati in questo modo. Aggiungere il nome, un segno di uguale e il valore di ogni parametro. Aggiungere un punto interrogativo prima che il primo parametro e una e commerciale prima di ogni parametro successivo. Chiamare la funzione "encodeURI" per codificare i parametri. Per esempio:

var uri = 'http://example.com/send.php?name=" + Nome + "& email =" + e-mail;
uri = encodeURI (uri);

3 Creare una stringa XML adeguatamente formata e utilizzare la funzione "encodeURI" per codificare i parametri, se il programma server è in attesa di XML. Per esempio:

var xml = '<identificazione> <nome>' + nome + '</ name> <mail>' + email + '</ email> </ identificazione>';
var xml = encodeURI (XML);

4 Creare un oggetto JSON con una coppia nome / valore per ogni parametro, convertire l'oggetto in una stringa e passare la stringa nella chiamata AJAX se il programma server si aspetta i parametri passati con JSON. Per esempio:

var params = { "nome": nome, "e-mail": E-mail};
paramString = JSON.stringify (params);

Consigli e avvertenze

  • Impostare l'intestazione Content-Type nella chiamata AJAX per abbinare il formato dei dati che si sta inviando.