如何在Javascript中创建查询参数?

2022-08-30 01:55:06

有没有办法创建用于在JavaScript中执行GET请求查询参数

就像在Python中一样,你有urllib.urlencode(),它接受一个字典(或两个元组的列表)并创建一个字符串,如.'var1=value1&var2=value2'


答案 1

给你:

function encodeQueryData(data) {
   const ret = [];
   for (let d in data)
     ret.push(encodeURIComponent(d) + '=' + encodeURIComponent(data[d]));
   return ret.join('&');
}

用法:

const data = { 'first name': 'George', 'last name': 'Jetson', 'age': 110 };
const querystring = encodeQueryData(data);

答案 2

URLSearchParams具有越来越多的浏览器支持。

const data = {
  var1: 'value1',
  var2: 'value2'
};

const searchParams = new URLSearchParams(data);

// searchParams.toString() === 'var1=value1&var2=value2'

Node.js提供查询字符串模块。

const querystring = require('querystring');

const data = {
  var1: 'value1',
  var2: 'value2'
};

const searchParams = querystring.stringify(data);

// searchParams === 'var1=value1&var2=value2'