JS实现把一个页面层数据传递到另一个页面的两种方式


Posted in Javascript onAugust 13, 2018

由于之前面试,被问到过此问题,所以今天特意整理了一下。由于自己技术水平有限,若存在错误,欢迎提出批评。

本博客整理了两种方式从一个页面层向另一个页面层传递参数。

一. 通过cookie方式

1. 传递cookie页面的html,此处命名为a.html

请输入用户名和密码:

<input id="userName" type="text" />
<input id="passwords" type="password" />
<button id="btn">设置</button>
<button onclick="login()">传递cookie</button>
<button onclick="deletecookie()">删除</button>

2.a.html的js代码

//设置cookie
var setCookie = function (name, value, day) {
  //当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
  var expires = day * 24 * 60 * 60 * 1000;
  var exp = new Date();
  exp.setTime(exp.getTime() + expires);
  document.cookie = name + "=" + value + ";expires=" + exp.toUTCString();
};
//删除cookie
var delCookie = function (name) {
  setCookie(name, ' ', -1);
};
//传递cookie
function login() {
  var name = document.getElementById("userName");
  var pass = document.getElementById("passwords");
  setCookie('userName',name.value,7)
  setCookie('password',pass.value,7);
  location.href = 'b.html'
}
function deletecookie() {
  delCookie('userName',' ',-1)
}

3. 接受cookie的页面,此处定义为b.html

<button onclick="getcookie()">获取</button>

4. b.html的js代码

//获取cookie代码
var getCookie = function (name) {
  var arr;
  var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  if (arr = document.cookie.match(reg)){
    return arr[2];
  }
  else
    return null;
};
//点击获取按钮之后调用的函数
function getcookie() {
  console.log(getCookie("userName"));
  console.log(getCookie("password"))
}

二. 通过url传递参数的方式

该案例也是从a.html向b.html页面传递参数

1. a.html的代码

<input type="text" value="猜猜我是谁">
<button onclick="jump()">跳转</button>

2.点击跳转按钮可以将input标签的value值传递到b.html

function jump() {
  var s = document.getElementsByTagName('input')[0];
  location.href='7.获取参数.html?'+'txt=' + encodeURI(s.value);
}

3. b.html中的代码

<div id="box"></div>
var loc = location.href;
var n1 = loc.length;
var n2 = loc.indexOf('=');
var txt = decodeURI(loc.substr(n2+1,n1-n2));
var box = document.getElementById('box');
box.innerHTML = txt;

三.通过localStorage

通过localStorage传递参数类似cookie。但是要注意:要访问一个localStorage对象,页面必须来自同一个域名(子域名无效),使用同一种协议,在同一个端口上。

1. a.html中的js文件

//将localStorage传递到哪个页面
location.href = 'b.html'
//设置localStorage
window.localStorage.setItem('user','haha');

2.b.html中的文件

<button onclick="getcookie()">获取</button>
function getcookie() {
  //获取传递过来的localStorage
  console.log(window.localStorage.getItem('user'))
}

总结

以上所述是小编给大家介绍的JS实现把一个页面层数据传递到另一个页面的两种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Extjs学习笔记之九 数据模型(上)
Jan 11 Javascript
Javascript 浮点运算精度问题分析与解决
Mar 26 Javascript
js生成缩略图后上传并利用canvas重绘
May 15 Javascript
javascript异步处理工作机制详解
Apr 13 Javascript
onclick和onblur冲突问题的快速解决方法
Apr 28 Javascript
深入理解jquery跨域请求方法
May 18 Javascript
node.js学习之交互式解释器REPL详解
Dec 08 Javascript
Bootstrap表单控件学习使用
Mar 07 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
Oct 26 Javascript
微信二次分享报错invalid signature问题及解决方法
Apr 01 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
Jun 11 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
Aug 13 #Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
Aug 13 #Javascript
JavaScript面向对象程序设计创建对象的方法分析
Aug 13 #Javascript
vue.js template模板的使用(仿饿了么布局)
Aug 13 #Javascript
angularjs 动态从后台获取下拉框的值方法
Aug 13 #Javascript
vue2.0 中使用transition实现动画效果使用心得
Aug 13 #Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
Aug 13 #Javascript
You might like
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
使用openssl实现rsa非对称加密算法示例
2014/01/24 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
javascript String 的扩展方法集合
2008/06/01 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
Fullpage.js固定导航栏-实现定位导航栏
2016/03/17 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
分析JS中this引发的bug
2017/12/12 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
原生JS实现前端本地文件上传
2018/09/08 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
2019/05/05 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
[28:57]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/16 DOTA
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
python3 破解 geetest(极验)的滑块验证码功能
2018/02/24 Python
python3+PyQt5实现柱状图
2018/04/24 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
Python 实现opencv所使用的图片格式与 base64 转换
2020/01/09 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
美国和加拿大计算机和电子产品购物网站:TigerDirect.com
2019/09/13 全球购物
2014年创先争优活动总结
2014/05/04 职场文书
幼儿学前班评语
2014/12/29 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL