Обновление март 2017 г .:
Поддержка URL.searchParams официально появилась в Chrome 51, но для других браузеров по-прежнему требуется полифил .
Официальный способ работы с параметрами запроса , это просто добавить их на URL. Из спецификации это пример:
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()
Однако я не уверен, что Chrome поддерживает searchParams
свойство URL-адреса (на момент написания), поэтому вы можете использовать стороннюю библиотеку или самостоятельное решение .
Обновление апреля 2018:
С помощью конструктора URLSearchParams вы можете назначить 2D-массив или объект и просто назначить его url.search
вместо того, чтобы перебирать все ключи и добавлять их.
var url = new URL('https://sl.se')
var params = {lat:35.696233, long:139.570431}
var params = [['lat', '35.696233'], ['long', '139.570431']]
url.search = new URLSearchParams(params).toString();
fetch(url)
Sidenote: URLSearchParams
также доступно в NodeJS
const { URL, URLSearchParams } = require('url');