HTML页面间之间传递数据的两种方法

经常会有要在两个页面中传递数据的需求,HTML页面间传递数据的两种方法:

方法1,通过URL传递,在第二页面运用location对象的方法获取;

方法2,将数据存储在localStorage中,在第二页面中读取。

页面1的HTML和JS代码如下:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    	<h1>页面1</h1>	
    </body>
</html>
	var student={  //一个json数据
		"name":"gougou",
		"age":2
	}   
	var strStudent=JSON.stringify(student);  //将json转化为字符串strStudent。
	localStorage.setItem('key',strStudent);  //对应方法2,将数据存储在HTML5的localStorage中。

	alert("点击跳转到页面2");
	location.href="location2.html?student="+window.encodeURIComponent(strStudent);  
    //对应方法1,先将json的字符串strStudent进行编码(不编码则在页面2中不能正常获取),
    //再放进URL里进行传递,再设置location对象的href属性让页面跳转。

页面2的HTML和JS代码如下:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    	<h1>页面2:数据传过来了吗?</h1>
    	<div id="demo1"></div>
    	<div id="demo2"></div>

    </body>
</html>
	window.onload=function (){
		//对应方法1
		var someUrl=location.search; 
        //location对象可以获取当前页面的URL地址,它的search属性可以获取?后面的部分(含?)
		var student1=JSON.parse(window.decodeURIComponent(someUrl.split("=")[1]));  
       //取得=后面的字符串,反编码后再转回原来的json对象
		document.getElementById("demo1").innerHTML="方法1传过来了,我可以获取name="+student1.name;

		//对应方法2
		var student2=JSON.parse(localStorage.getItem('key'));
		document.getElementById("demo2").innerHTML="方法2传过来了,我可以获取age="+student2.age;
	}

转载于:https://my.oschina.net/u/3059741/blog/807440

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值