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 相关文章推荐
学习YUI.Ext第五日--做拖放Darg&amp;Drop
Mar 10 Javascript
javascript学习笔记(六) Date 日期类型
Jun 19 Javascript
Android中资源文件(非代码部分)的使用概览
Dec 18 Javascript
JavaScript模拟重力状态下抛物运动的方法
Mar 03 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
Mar 15 Javascript
js预加载图片方法汇总
Jun 15 Javascript
jquery实现简单文字提示效果
Dec 02 Javascript
利用jQuery实现打字机字幕效果实例代码
Sep 02 Javascript
原生js实现密码输入框值的显示隐藏
Jul 17 Javascript
react高阶组件经典应用之权限控制详解
Sep 07 Javascript
layui 设置table 行的高度方法
Aug 17 Javascript
关于React Native 无法链接模拟器的问题
Jun 21 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
第一个无线电台是由谁发明的
2021/03/01 无线电
PHP+DBM的同学录程序(5)
2006/10/09 PHP
php empty,isset,is_null判断比较(差异与异同)
2010/10/19 PHP
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
自己的js工具 Event封装
2009/08/21 Javascript
Web开发之JavaScript
2012/03/29 Javascript
JS保留两位小数,多位小数的示例代码
2014/01/07 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
网页中右键功能的实现方法之contextMenu的使用
2017/02/20 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
小程序实现五星点评效果
2018/11/03 Javascript
深入了解js原型模式
2019/05/30 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
关于vue组件事件属性穿透详解
2019/10/28 Javascript
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
深入理解Django自定义信号(signals)
2018/10/15 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
python编写俄罗斯方块
2020/03/13 Python
jupyter notebook 多行输出实例
2020/04/09 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
Gweniss格温妮丝女包官网:英国纯手工制造潮流包包品牌
2018/02/07 全球购物
《诺贝尔》教学反思
2014/02/17 职场文书
公司股权转让协议书
2014/04/12 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
市场督导岗位职责
2015/04/10 职场文书
幼儿园食品安全责任书
2015/05/08 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
如何在python中实现ECDSA你知道吗
2021/11/23 Python