关闭

静态网站如何获取Get参数,通过js获取url的参数数据的实现方式

时间: 2017-10-26阅读: 1981标签: 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']

站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/13

关闭

js中window.URL对象的使用方式

URL.createObjectURL(object)是URL对象的静态方法,其实就是返回了一个在内存中指向传入参数object的引用路径url字符串。生成的这个url字符串会在当前页面的document被销毁的时候失效。

HTML5实现无刷新修改URL

今天在做一个vue的搜索功能,需要从搜索结果页面跳转到细节页面,然后点击返回还能返回到刚刚的结果页面,如果只用window.history.go(-1)当然会重新刷新搜索页面,当然是不行的。我尝试了俩种方式来修改url:

URL中%2F,%2B等特殊字符

有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。 编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。

URL中“#” “?” &“”号的作用

#代表网页中的一个位置。其右面的字符,就是该位置的标识符。比如,http://www.example.com/index.html#print就代表网页index.html的print位置。浏览器读取这个URL后,会自动将print位置滚动至可视区域

AngularJS实现地址栏取值

有时候我们由如下需求:1、从a.html跳转到b.html2、从a跳转时携带参数和值、3、从b.html中取出传过来的参数值,在AngularJS的操作如下:

Url的Base64编码以及解码

Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致。

动态url、静态url和伪静态url的详细讲解

关于url的动态、静态、伪静态,很多站长朋友,尤其是新站长一直搞不清楚。网上的许多解释又语焉不详,下面就作详细的讲解下。

react监听URL的正确方式

addEventListener之后一定要remove,否则跳转路由后,原有的事件又没消除,会导致注册了越来越多的事件;另外,removeEventListener的第二个参数指向的函数

从输入URL到页面加载发生了什么?

输入URL到页面加载发生了什么?通过连接这个过程,然后针对性地对每个过程进行优化,最终实现的就是我们的前端性能优化。本篇文章主要介绍一些基础性的概念,很少涉及真正的性能优化。

前后端分离, 前端如何防止直接输入URL进入页面?

前后端分离,如何防止用户直接在地址栏输入url进入页面,也就是判断用户是否登录,没有,则直接跳转到登录页,后台可以用session记录用户登陆的状态,疑问的是前端每次ajax请求,都要做状态判断么

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!