js获取当前页面的URL并且截取‘?’之后的数据,返回json格式的数据
最近想要把学到的东西整理一下,以后方便查找,也是一种自我累积,如果有错误或者更好的,欢迎提出!
这篇文档主要是写关于获取页面的URL数据,并且拿到“?”后面的那一部分,最后作为json格式返回。这个在web前端中应该是比较常用的,为了防止忘记,同时也是方便有时间了复习一下,整理一下记载下来;
通常情况下需要截取的url情况如下(看到当前博客界面上面就是,所以直接copy下来了):
https://i.cnblogs.com/EditPosts.aspx?opt=1
其中https: 这部分是网络协议,后面的是网址,我们需要的是“opt=1”这一部分,也就是?后面的部分,我们把这种模式成为 ‘key = value’模式吧。以下是得到URL并且获取到?后面数据的方法,返回的 格式是json
function parseUrlParams(){
//获取到href
var urlParams = window.location.href;
var vars = {};
// 处理获取到的url,(g表示全局匹配,i表示忽略大小写)
var parts = urlParams.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function(m,key,value) {
vars[key] = value;
});
return vars;
}
调用方法并且得到返回的json数据
var jsonData = parseUrlParams();拿到json数据中的value
var value = jsonData['key'];
value就是我们前端程序员想要的数据了,根据这个数据匹配想要的东西去吧