为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕娘9325324 2019-11-27 10:54:56
有什么方法可以创建查询参数以在JavaScript中执行GET请求吗?就像在Python中一样urllib.urlencode(),它具有一个字典(或两个元组的列表)并创建一个类似的字符串'var1=value1&var2=value2'。
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

干得好:


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);


查看完整回答
反对 回复 2019-11-27
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

功能性


function encodeData(data) {

    return Object.keys(data).map(function(key) {

        return [key, data[key]].map(encodeURIComponent).join("=");

    }).join("&");

}   


查看完整回答
反对 回复 2019-11-27
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

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


const data = {

  var1: 'value1',

  var2: 'value2'

};


const searchParams = new URLSearchParams(data);


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

Node.js提供了querystring模块。


const querystring = require('querystring');


const data = {

  var1: 'value1',

  var2: 'value2'

};


const searchParams = querystring.stringify(data);


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


查看完整回答
反对 回复 2019-11-27
  • 3 回答
  • 0 关注
  • 452 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信