JavaScript: trasformare un oggetto in una query string

jQuery è in grado di trasformare oggetti JavaScript in query string HTTP da usare con AJAX. Ma come avviene questo processo? Vediamolo insieme.

Un oggetto letterale è composto da coppie di proprietà e valori. Quindi è sufficiente eseguire un ciclo for...in su tali oggetti ed assemblare la stringa corrispondente:


var toQueryString = function(obj) {
		var arr = [],
			str = '';
		for (var prop in obj) {
			var query = prop + '=' + obj[prop];
			arr.push(query);
		}
		str = arr.join('&');
		return str;
};

Quindi il seguente oggetto:


var query = {
	a: 1,
	b: 'Test'
};

diventa:


var queryString = toQueryString(query);
console.log(queryString); // a=1&b=Test