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 相关文章推荐
验证用户是否修改过页面的数据的实现方法
Sep 26 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
Jun 09 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
Oct 29 Javascript
jqueryUI里拖拽排序示例分析
Feb 26 Javascript
JavaScript中常用的六种互动方法示例
Mar 13 Javascript
javascript+canvas实现刮刮卡抽奖效果
Jul 29 Javascript
javascript如何创建对象
Aug 29 Javascript
微信小程序 教程之模板
Oct 18 Javascript
linux 后台运行node服务指令方法
May 23 Javascript
Vue中的作用域CSS和CSS模块的区别
Oct 09 Javascript
小程序实现多列选择器
Feb 15 Javascript
vue实现两个区域滚动条同步滚动
Dec 13 Vue.js
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
简单的页面缓冲技术
2006/10/09 PHP
php实现天干地支计算器示例
2014/03/14 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
PHP基于递归算法解决兔子生兔子问题
2018/05/11 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
dojo 之基础篇
2007/03/24 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
Javascript学习指南
2014/12/01 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
详解AngularJS如何实现跨域请求
2016/08/22 Javascript
BootStrap+Angularjs+NgDialog实现模式对话框
2016/08/24 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
python中字典dict常用操作方法实例总结
2015/04/04 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
python的concat等多种用法详解
2018/11/28 Python
python的常用模块之collections模块详解
2018/12/06 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
户外亲子活动策划方案
2014/02/07 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
税务干部鉴定材料
2014/02/11 职场文书
中文专业自荐书
2014/06/29 职场文书
2016大学军训心得体会
2016/01/11 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书