如何使用 Javascript 构建查询字符串
2022-08-30 00:54:15
只是想知道Javascript中是否有任何内置的东西可以采用Form并返回查询参数,例如:"var1=value&var2=value2&arr[]=foo&arr[]=bar..."
多年来,我一直在想这个问题。
只是想知道Javascript中是否有任何内置的东西可以采用Form并返回查询参数,例如:"var1=value&var2=value2&arr[]=foo&arr[]=bar..."
多年来,我一直在想这个问题。
URLSearchParams API在所有现代浏览器中都可用。例如:
const params = new URLSearchParams({
var1: "value",
var2: "value2",
arr: "foo",
});
console.log(params.toString());
//Prints "var1=value&var2=value2&arr=foo"
2k20更新:将Josh的解决方案与URLSearchParams.toString()一起使用。
旧答案:
没有jQuery
var params = {
parameter1: 'value_1',
parameter2: 'value 2',
parameter3: 'value&3'
};
var esc = encodeURIComponent;
var query = Object.keys(params)
.map(k => esc(k) + '=' + esc(params[k]))
.join('&');
对于不支持需要 ES5 的箭头函数语法的浏览器,请将该行更改为.map...
.map(function(k) {return esc(k) + '=' + esc(params[k]);})