如何通过js获取url地址的参数

JavaScript010

如何通过js获取url地址的参数,第1张

js可以通过以下方法获取url地址的参数:

1、比如有如下url请求:

http://zhidao.baidu.com/question/586494936989579005.html?entry=business_qb&ishq=1

2、可以用一下方法获取参数:

var params = function(str) {

function urldecode(str) {

return decodeURIComponent((str+'').replace(/\+/g, '%20'))

}

function transformToAssocArray( prmstr ) {

var params = {}

var prmarr = prmstr.split("&")

for ( var i = 0i <prmarr.lengthi++) {

var tmparr = prmarr[i].split("=")

params[tmparr[0]] = urldecode(tmparr[1])

}

return params

}

var prmstr = window.location.search.substr(1)

return prmstr != null &&prmstr != "" ? transformToAssocArray(prmstr) : {}

}()

我的理解是这样的哈,可以直接用遍历的方式

<script type="text/javascript">

function http_builder_url(url, data) {

if(typeof(url) == 'undefined' || url == null || url == '') {

return ''

}

if(typeof(data) == 'undefined' || data == null || typeof(data) != 'object') {

return ''

}

url += (url.indexOf("?") != -1) ? "" : "?"

for(var k in data) {

url += ((url.indexOf("=") != -1) ? "&" : "") + k + "=" + encodeURI(data[k])

console.log(url)

}

return url

}

var param = {'name':'ddd', 'age':19}

var url = "http://www.baidu.com/a.html"

alert(http_builder_url(url, param))

//得到的结果:http://www.baidu.com/a.html?name=ddd&age=19

</script>