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>