前端页面之间如何实现数据传值?

1、url传值:利用H5的浏览器的相关API,进行split、pop、slice等函数操作获取自己想要的。
	//这种传值一般适合比较短的数据,比如id、name,然后利用id等发网络请求获取相关数据。
2、cookie存储:将数据存在浏览器的cookie中,设置过期时间等等。
	//document.cookie = `name=monsterooo;expires=${t.toGMTString()};`;
3、web存储:localStorage和sessionStorage存储。
//	将我们需要传递的数据存储在localStorage或sessionStorage存储,在需要时进行读取数据。

顺便总结一下cookie、session、localStorage以及sessionStorage。

1、cookie:分为会话cookie和持久cookie。他们的区别主要在于是否设置了过期时间expires。
	功能:用来保存用户身份的。cookie的存储在浏览器端,其大小仅4k左右,且仅仅在过期时间内有效,但是会存在跨域问题。
	优点:数据轻量、数据即使被盗仍可以通过设置过期时间来保护数据安全、不需要服务器资源。
	字段:
		expires:过期时间,需要注意的是他必须是一个绝对时间(具体的GMT时间)。其缺点是如果系统的时间发生错误(比如被设置为2099年····),那么cookie就会失效。
		domain:可以访问该cookie的域名。
	注意点:
		a、cookie虽然存在浏览器端,但是服务器和客户端均可以设置cookie字段;
		b、存在跨域问题。默认在请求跨域时,cookie不会被传送到服务器,我们需要设置Access-Control-Allow-Credentials:true。
		c、由于cookie存在于浏览器端,所以安全性并没有session高。

2、LocalStorage:H5新特性,作为(浏览器端)本地存储用的,解决了cookie存储空间不足的情形。
	优点:存储大小为5M,且不会过期,除非自己手动删除(只要不同源就不能共享localStorage的数据)。
	缺点:
		a、兼容性问题----H5特性;
		b、LocalStorage的值被限定为String类型,与我们所习惯的JSON格式需要转换。

3、sessionStorage:存储大小也为5M左右,在客户端存储,但当页面关闭或者浏览器关闭时,数据会被清除,需要注意的是,页面刷新不会丢失存储的数据。
4、session:需要提一点的是,它和sessionStorage不是同一个概念。
	session是存在于服务器端的,是基于cookie来识别用户的,因为session id存在于cookie中。
	注意:
		由于session存在于服务器端,如果不采取任何措施,那么随着访问量增大,整个服务器的负载会随之增大。所以为了防止内存溢出,服务器会设置Session的有效期,一旦超过有效期,则删除该session。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值