在JavaScript开发过程中,可能经常需要构造URL和查询字符串参数构造查询字符串参数的一种明智方法是使用具有键值对的一层对象
下面我们通过几种方式来实现一下
例如:
const example = { a:1, b:2, c:3 }
转换为:"a=1&b=2&c=3"
1. 使用js map 和join组合实现
- ES5实现:
const queryString = Object.keys(params).map(function(key) { return key + '=' + params[key] }).join('&');
- ES6实现:
const queryString = Object.keys(params).map(key => key + '=' + params[key]).join('&');
2.在node环境中使用querystring模块
const querystring = require('querystring');
let queryString = querystring.stringify(params);
3.参数编码
使用encodeURIComponent
const queryString = Object.keys(params).map((key) => { return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]) }).join('&');