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是否支持URL的属性(在撰写本文时),因此您可能希望使用第三方库或自己的解决方案。searchParams
2018 年 4 月更新:
通过使用URLSearchParams构造函数,您可以分配一个2D数组或对象,然后将其分配给,而不是循环所有键并附加它们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)
旁注:在 NodeJS 中也可用URLSearchParams
const { URL, URLSearchParams } = require('url');