JS对象转URL参数
程序员文章站
2024-02-18 18:25:40
...
代码:
/**
* param 将要转为URL参数字符串的对象
* key URL参数字符串的前缀
* encode true/false 是否进行URL编码,默认为true
* idx ,循环第几次,用&拼接
* return URL参数字符串
*/
var urlEncode = (param,idx, key, encode)=> {
console.log('idx',idx)
if(param==null) return '';
var paramStr = '';
var t = typeof (param);
if (t == 'string' || t == 'number' || t == 'boolean') {
var one_is =idx<3?'?':'&';
paramStr += one_is + key + '=' + ((encode==null||encode) ? encodeURIComponent(param) : param);
} else {
for (var i in param) {
var k = key == null ? i : key + (param instanceof Array ? '[' + i + ']' : '.' + i);
idx++
paramStr += urlEncode(param[i],idx, k, encode);
}
}
return paramStr;
};
调用:
var url ='http://baidu.com';
var data ={a:1,b:2}
url=url+urlEncode(data,1);
//http://baidu.com?a=1&b=2
上一篇: SpingBoot Controller接收请求参数
下一篇: 网道 / JS常见类型的判断