Update March 2017:
Chrome 51正式支持URL.searchParams,但其他浏览器仍需要polyfill.
处理查询参数的official种方法就是将它们添加到URL中.从the spec开始,这是一个例子:
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
属性(在 compose 本文时),因此您可能希望使用third party library或roll-your-own solution.
Update April 2018:个
使用URLSearchParams constructor,您可以指定一个二维数组或对象,然后将其分配给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)
SideNote:URLSearchParams
在NodeJS中也可用
const { URL, URLSearchParams } = require('url');