Una query HTTP è composta da una serie di coppie di parametri e valori separati dalla stringa &
. PHP dispone già di una funzione per creare queste query. Vediamo come implementare una funzione simile in JavaScript.
La nostra funzione accetterà un oggetto letterale come parametro. I nomi delle proprietà di questo oggetto saranno i nostri parametri e il loro valore costituirà appunto il valore di tali parametri:
var httpBuildQuery = function(params) {
if (typeof params === 'undefined' || typeof params !== 'object') {
params = {};
return params;
}
var query = '?';
var index = 0;
for (var i in params) {
index++;
var param = i;
var value = params[i];
if (index == 1) {
query += param + '=' + value;
} else {
query += '&' + param + '=' + value;
}
}
return query;
};
Esempio:
var build = document.getElementById('build');
var output = document.getElementById('output');
build.onclick = function() {
var parameters = {
a: 'foo',
b: 1,
c: 'test'
};
var $query = httpBuildQuery(parameters);
output.firstChild.nodeValue = $query;
};
Potete visionare l'esempio finale in questa pagina.