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 相关文章推荐
use jscript List Installed Software
Jun 11 Javascript
IE8下关于querySelectorAll()的问题
May 13 Javascript
javascript中的继承实例代码
Apr 27 Javascript
js列举css中所有图标的实现代码
Jul 04 Javascript
AJAX跨域请求json数据的实现方法
Nov 11 Javascript
前端微信支付js代码
Jul 25 Javascript
微信公众号支付H5调用支付解析
Nov 04 Javascript
Javascript使用function创建类的两种方法(推荐)
Nov 19 Javascript
JS继承与闭包及JS实现继承的三种方式
Oct 15 Javascript
详解js静态检查工具eslint配置文件
Nov 23 Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 Javascript
jQuery轮播图功能制作方法详解
Dec 03 jQuery
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字符串的递增和递减示例介绍
2014/02/11 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
共享自己写一个框架DreamScript
2007/01/20 Javascript
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
Underscore源码分析
2015/12/30 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
详解react-refetch的使用小例子
2019/02/15 Javascript
详解小程序BackgroundAudioManager踩坑之旅
2019/12/08 Javascript
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
python对象及面向对象技术详解
2016/07/19 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
Python中顺序表的实现简单代码分享
2018/01/09 Python
Python实现的栈(Stack)
2018/01/26 Python
详解Python爬取并下载《电影天堂》3千多部电影
2019/04/26 Python
Python通过递归获取目录下指定文件代码实例
2019/11/07 Python
pytorch AvgPool2d函数使用详解
2020/01/03 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
Python itertools.product方法代码实例
2020/03/27 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
英国豪华装饰照明品牌的在线零售商:Inspyer Lighting
2019/12/10 全球购物
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
借款协议书
2014/04/12 职场文书
2016年党员学习廉政准则心得体会
2016/01/20 职场文书
同学会演讲稿
2019/04/02 职场文书