静态网站如何获取Get参数,通过js获取url的参数数据的实现方式
不使用动态语言php,java等,直接通过js获取链接中传递的get数据的方法总结。下面给大家说一下用javascript在静态页面上接受Get参数的方法,其实很简单 只要用户打开的页面url后带有参数。而javascript可以获取当前页面的url 只要对获取下来的url进行简单地解析即可。
方法一、正则表达式
推荐使用,方便快捷的一种方式,代码如下:
;(function(w) {
var Plugin ={//默认为match
getUrlParam:function(name) {//获取url中的参数
var reg = new RegExp('(^|&?)' + name + '=([^&]*)(&|$)', 'i');
var r = window.location.href.substr(1).match(reg);
if (r != null) {
return unescape(r[2]);//如果参数有中文使用decodeURl解码返回
}
return undefined;
},
};
w.G=Plugin;
})(window);使用:console.log(G.getUrlParam('name')),就可获取参数name的值
注意:unescape()的方式返回,在获取中文参数的时候,获取到的值是乱码的,解决方法:将解码方式unscape换为decodeURI。出现的原因:原因:浏览器会将url中的中文参数进行encodeURI编码,所以要通过js使用decodeURI进行解码
方法二、传统数组方式
通过返回数组的形式获取,代码如下
function get(){
let u=window.location.href //获取当前页面的url
let len=u.length //获取url的长度
let offset=u.indexOf("?") //设置参数字符串开始的位置
let info=u.substr(offset,len) //取出参数字符串 这里会获得类似“id=1”这样的字符串
return info.split("=") //对获得的参数字符串按照“=”进行分割
}使用:var g=get();g[0]获取Get的第一个参数
方法三
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}使用:GetRequest()['name']
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!