Actualización de marzo de 2017:
La compatibilidad con URL.searchParams ha aterrizado oficialmente en Chrome 51, pero otros navegadores aún requieren un polyfill .
La forma oficial de trabajar con parámetros de consulta es simplemente agregarlos a la URL. De la especificación , este es un ejemplo:
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(/* … */)
Sin embargo, no estoy seguro de que Chrome sea compatible con la searchParams
propiedad de una URL (en el momento de la escritura), por lo que es posible que desee utilizar una biblioteca de terceros o una solución roll-your-own .
Actualización de abril de 2018:
Con el uso del constructor URLSearchParams , puede asignar una matriz 2D o un objeto y simplemente asignarlo al en url.search
lugar de recorrer todas las teclas y agregarlas
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)
URLSearchParams
Nota al margen : también está disponible en NodeJS
const { URL, URLSearchParams } = require('url');