2017 年 3 月更新:
URL.searchParams支持已正式登陆 Chrome 51,但其他浏览器仍然需要polyfill。
使用查询参数的官方方法是将它们添加到 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 年 4 月更新:
通过使用URLSearchParams 构造函数,您可以分配一个二维数组或一个对象,然后将其分配给url.search
而不是循环遍历所有键并附加它们
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
在 NodeJS 中也可用
const { URL, URLSearchParams } = require('url');