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 相关文章推荐
javascript实现划词标记+划词搜索功能
Mar 06 Javascript
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
Dec 23 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
May 15 Javascript
纯Javascript实现ping功能的方法
Mar 20 Javascript
JS实现图片高亮展示效果实例
Nov 24 Javascript
对象题目的一个坑 理解Javascript对象
Dec 22 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
Jan 23 Javascript
JavaScript的兼容性与调试技巧
Nov 22 Javascript
JS中this的指向以及call、apply的作用
May 06 Javascript
js中关于Blob对象的介绍与使用
Nov 29 Javascript
Element Card 卡片的具体使用
Jul 26 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
Aug 14 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
php循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
基于jQuery实现点击同时更改两个iframe的网址
2010/07/01 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
thinkjs之页面跳转同步异步操作
2017/02/05 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
[01:01:35]Optic vs paiN 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python 调用c语言函数的方法
2017/09/29 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
Python 实现黑客帝国中的字符雨的示例代码
2020/02/20 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
应届生学校辅导员求职信
2013/11/07 职场文书
移动通信专业自荐信范文
2013/11/12 职场文书
机关财务管理制度
2014/01/17 职场文书
关于运动会的口号
2014/06/07 职场文书
2014年环保局工作总结
2014/12/11 职场文书
英语教师求职信范文
2015/03/20 职场文书
回复函格式及范文
2015/07/14 职场文书
业务员管理制度范本
2015/08/06 职场文书
python turtle绘图命令及案例
2021/11/23 Python
Oracle配置dblink访问PostgreSQL的操作方法
2022/03/21 PostgreSQL