url 地址含参数较多如何拼接

url 地址拼接是经常会遇到的问题。所以必须要掌握这个技术

1.合并参数对象,循环出来。

var commonParams = {
g_tk: 1928093487,
inCharset: 'utf-8',
outCharset: 'utf-8',
notice: 0,
format: 'jsonp'
};
var data = Object.assign({}, commonParams, {
topid:'',
needNewCode: 1,
uin: 0,
tpl: 3,
page: 'detail',
type: 'top',
platform: 'h5'
})

2.将参数进行拼接

function param(data){

    var url=‘’;

   for(var k in data){

     //去掉undefined

    var value=data[k]!==undefined ? data[k] :'';

    url =url+'&'+k+'='+encodeURIComponent(value);

}

  return url ?url.substring(1) : '';

}

3.将url 与第2步拼接好的参数链接起来

 function urlContact(url){

  //增加?url.indexOf('?')<0  ? '?': '&'

  return  url =url+(url.indexOf('?')<0  ? '?': '&')+param(data);

}

console.log(urlContact('www.baidu.com'));

测试一下成功了。

原文地址:https://www.cnblogs.com/daiwenru/p/7890563.html