js获取当前页面的URL并且截取?之后的数据,返回json

时间:2021-09-24 04:14:51

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就是我们前端程序员想要的数据了,根据这个数据匹配想要的东西去吧