JS分解地址栏参数

{{ time }}

示例代码如下

/**
取得并解析地址栏参数
	1. 本函数把地址栏中的? & = 看作关键字
	2. 适用于一些比较规则的网址
	3. todo: 当关键字连续出现时, 可能解析错误, 如出现 ??, ?=, =?等的情况
*/
function parse_uri() {
	//返回对象
	var obj = {}
	//取得地址栏网址
	let uri = window.location.href
	//取得参数字符串
	let str = window.location.href.split('?')[1]
	//取得参数数组
	let params = str.split('&');
	//遍历分解参数数组
	for (let k in params) {
		let v = params[k]
		let param = v.split('=')
		if (param.length === 2)
			obj[param[0]] = param[1]
	}

	return obj
}

//示例: 
//运行
parse_uri()
//输出: {post:"2716",action:"edit"}