Aggiornamento marzo 2017:
Il supporto URL.searchParams è arrivato ufficialmente in Chrome 51, ma altri browser richiedono ancora un polyfill .
Il modo ufficiale di lavorare con i parametri della query è semplicemente aggiungerli all'URL. Dalle specifiche , questo è un esempio:
var url = new URL("https://geo.example.org/api"),
params = {lat:35.696233, long:139.570431}
Object.keys(params).forEach(key => url.searchParams.append(key, params[key]))
fetch(url).then(/* … */)
Tuttavia, non sono sicuro che Chrome supporti la searchParams
proprietà di un URL (al momento della stesura), quindi potresti voler utilizzare una libreria di terze parti o una soluzione roll-your-own .
Aggiornamento aprile 2018:
Con l'uso della funzione di costruzione URLSearchParams è possibile assegnare un array 2D o un oggetto e assegnarlo a url.search
invece di scorrere su tutte le chiavi e aggiungerle
var url = new URL('https://sl.se')
var params = {lat:35.696233, long:139.570431} // or:
var params = [['lat', '35.696233'], ['long', '139.570431']]
url.search = new URLSearchParams(params).toString();
fetch(url)
Sidenote: URLSearchParams
è disponibile anche in NodeJS
const { URL, URLSearchParams } = require('url');