javascript获取url参数的值

Javascript 2019-12-04 阅读 562 评论 0

有时候需要将浏览器的地址,转化为json对象,方便操作,请求的url 可以从 window.location.href 获取,有些url后面带有 # 符号,需要过滤,请求参数一般是从问号 ? 开始,键值对用 = 连在一起,多个键值对用 & 拼接,下面是使用 replace 方法,匹配键值对,在回调方法将其转化为 json。

function getUrlVars() {
	var vars = {};
	var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&#]*)/gi,
		function(m,key,value) {
			vars[key] = value;
		}
	);
	return vars;
}

比如:

// 比如url为:https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=js#t=23

var fType = getUrlVars();
console.log(fType);

// 输出结果为:
{
    f: "8"
    ie: "utf-8"
    rsv_bp: "1"
    rsv_idx: "1"
    tn: "baidu"
    wd: "js"
}
最后更新 2020-06-06
MIP.watch('startSearch', function (newVal, oldVal) { if(newVal) { var keyword = MIP.getData('keyword'); console.log(keyword); // 替换当前历史记录,新增 MIP.viewer.open('/s/' + keyword, {replace: true}); setTimeout(function () { MIP.setData({startSearch: false}) }, 1000); } }); MIP.watch('goHome', function (newVal, oldVal) { MIP.viewer.open('/', {replace: false}); });