技术文档

前端html页面上如何获取传值数据

作者:织晶客服部    浏览次数:   来源:织晶网络

在网页前端HTML开发中,会碰到网页上获取数据与传值的问题,正确恰当使用网页上的数据与传值,可开发出更多的功能与页面效果,让网页浏览起来更人性化。备注:下面代码是运行在javascript中的。


1、get方式,获取url携带的参数
var link = location.href; //如当前链接是:http://www.gzhijing.com/html/about/about-110.html?aid=129
var result = link.split( "aid=" );//通过aid=把网址分割成2部分
var aid = result[ 1 ];//获取网址aid=后半部分
argu = aid;//这里就能获取到地址栏中aid的参数值 129

2.通过cookie传值,cookie能够把少量数据存储到客户端的磁盘中,大约4KB内
//设置 cookie
  function setcookie(cname, value, cexpires){
  let data=new Date()
  let datatime=data.getTime()//获取当前时间
  data.setTime(datatime+cexpires*1000*60*60*24)//设置过期时间,单位为天
  let expires="expires="+data.toUTCString()//拼接世界时间的过期时间,北京时间为当前时间加八小时即可
  document.cookie=`${cname}=${value};${expires}`//设置cookie数据和过期时间,中间用分号分隔
 }
 setcookie("ABBBBBBBC_data","wQksls20sj23",2);//函数传参
 console.log("cookie:",document.cookie);//这种方式会查找所有cookie的数据,以字符串形式返回

//获取指定名称的cookie的值
function getcookie(ABBBBBBBC_data){
var arrstr = document.cookie.split("; ");
for(var i = 0;i < arrstr.length;i ++){
var temp = arrstr[i].split("=");
if(temp[0] == ABBBBBBBC_data) return unescape(temp[1]);
}};
console.log("返回window.getcookie:",getcookie("ABBBBBBBC_data"));

3.通过 h5技术,window.localStorage存储数据
< a class="nav_sub01" data-aid="001">文字< /a> 

aid = $(this).data("aid");//事件传递参数
// 01.h5技术-window.localStorage存储数据 
if(window.localStorage){
localStorage.value=aid;
}else{
alert("浏览器不支持H5 Storage!")
}
// 02.h5技术-提取window.localStorage存储数据,进行操作
var va = localStorage.value;
//把 va 使用其他code上


总结:对于不同的解决方法,都有优缺点

1、url携带参数传值
优点:取值方便,可以跨域,利于页面分享,没有环境限制。
缺点:url携带参数值的长度有限制。
01、IE浏览器对URL的最大限制为2083(2k)个字符
02、Firefox浏览器URL的长度限制为65,536(64k)个字符
03、Safari 浏览器URL最大长度限制为 80,000个字符
04、Opera 浏览器URL最大长度限制为190,000个字符
05、Google浏览器 URL长度一旦超过8182个字符时
06、Apache 服务器能接受最大url长度为8,192个字符
07、Microsoft Internet Information Server(IIS)服务器能接受最大url的长度为16,384个字符

2、cookie方式存储
优点:可以在同源内的的任意网页中访问,存储数据的周期可以自由设置。
缺点:有长度限制,大约4KB内。

3、h5技术,window.localStorage存储数据
优点:储存空间大,在客户端有5M存储空间。
缺点:不是所有浏览器都支持。

建议:不重要的数据可以通过url携带传值;重要的用户信息如账户和密码可使用cookie存储传值;比较大的数据可以通过H5技术本地存储后获取使用。

CopyRight© 2021 广州织晶网络科技有限公司

地址:广州市番禺区大石街沿江中路73号神怡商业中心2A10

备案号:粤ICP备13023505号

联系我们:

服务电话:020-39182790 / 13760696870