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构造函数,您可以分配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)
旁注:URLSearchParams
在NodeJS中也可用
const { URL, URLSearchParams } = require('url');