目录
一. 通过cookie方式
1. 传递cookie页面的html,此处命名为a.html
2.a.html的js代码
3. 接受cookie的页面,此处定义为b.html
4. b.html的js代码
二. 通过url传递参数的方式
1. a.html的代码
2.点击跳转按钮可以将input标签的value值传递到b.html
3. b.html中的代码
三.通过localStorage
1. a.html中的js文件
2.b.html中的文件
首页 web前端 js教程 js实现页面间数据传递的代码

js实现页面间数据传递的代码

Aug 13, 2018 pm 03:41 PM
数据传递

本篇文章给大家带来的内容是关于js实现实现页面见数据传递的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

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

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

一. 通过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, &#39; &#39;, -1);
};
//传递cookie
function login() {
    var name = document.getElementById("userName");
    var pass = document.getElementById("passwords");
    setCookie(&#39;userName&#39;,name.value,7)
    setCookie(&#39;password&#39;,pass.value,7);
    location.href = &#39;b.html&#39;
}
function deletecookie() {
    delCookie(&#39;userName&#39;,&#39; &#39;,-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(&#39;input&#39;)[0];
    location.href=&#39;7.获取参数.html?&#39;+&#39;txt=&#39; + encodeURI(s.value);
}
登录后复制

3. b.html中的代码

<p id="box"></p>
登录后复制
var loc = location.href;
var n1 = loc.length;
var n2 = loc.indexOf(&#39;=&#39;);
var txt = decodeURI(loc.substr(n2+1,n1-n2));
var box = document.getElementById(&#39;box&#39;);
box.innerHTML = txt;
登录后复制

三.通过localStorage

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

1. a.html中的js文件

//将localStorage传递到哪个页面
location.href = &#39;b.html&#39;
//设置localStorage
window.localStorage.setItem(&#39;user&#39;,&#39;haha&#39;);
登录后复制

2.b.html中的文件

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

 相关推荐:

jQuery中的方法有哪些?jQuery中常用的方法(附代码)

js中data对象的详细用法介绍(附代码)

以上是js实现页面间数据传递的代码的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Vue中使用provide和inject实现组件间数据传递与性能优化 Vue中使用provide和inject实现组件间数据传递与性能优化 Jul 17, 2023 pm 07:19 PM

Vue中使用provide和inject实现组件间数据传递与性能优化在Vue中,组件间的数据传递是非常常见的需求。有时候我们希望在组件树的某个节点提供数据,然后在其后代组件中使用这些数据,这时候就可以使用Vue的provide和inject来实现。除了数据传递,provide和inject还可以用于性能优化,减少props传递的层级,提高组件的性能。prov

如何使用PHP语言调用API接口以实现系统间数据的传递和同步? 如何使用PHP语言调用API接口以实现系统间数据的传递和同步? Sep 05, 2023 am 11:26 AM

如何使用PHP语言调用API接口以实现系统间数据的传递和同步?在开发和设计现代系统时,我们常常需要将不同的系统进行数据传递和同步。一个常见的方法是使用API接口来实现系统之间的通信。本文将介绍如何使用PHP语言调用API接口,以实现系统间的数据传递和同步。API(ApplicationProgrammingInterface)是一种通过编程方式实现不同系

Vue组件中如何实现父子组件的通信和数据传递 Vue组件中如何实现父子组件的通信和数据传递 Oct 08, 2023 pm 09:51 PM

Vue是一种流行的前端开发框架,其提供了很多方便的功能和机制来帮助我们构建可复用和高效的组件化应用程序。在Vue中,父子组件通信和数据传递是常见的需求之一。本文将详细介绍在Vue中如何实现父子组件的通信和数据传递,并提供具体的代码示例。在Vue中,父子组件之间的通信可以通过props和$emit方法来实现。Props是父组件向子组件传递数据的机制,而$emi

Vue组件通信:使用v-bind指令进行数据传递 Vue组件通信:使用v-bind指令进行数据传递 Jul 07, 2023 pm 04:46 PM

Vue组件通信:使用v-bind指令进行数据传递Vue.js是一款流行的前端框架,它提供了强大的组件化开发能力。在Vue应用中,组件通信是一个重要的问题。而v-bind指令是Vue框架提供的一种数据传递方式,本文将介绍如何使用v-bind指令进行组件间数据传递。在Vue中,组件通信可以分为父子组件通信和兄弟组件通信两种情况。下面我们将分别从这两个方面来介绍如

Vue中如何使用组件内部的data和组件参数的props配合实现数据传递 Vue中如何使用组件内部的data和组件参数的props配合实现数据传递 Jun 11, 2023 pm 02:03 PM

Vue是一个非常流行的前端开发框架,其中组件是非常重要的构建块。在Vue中,组件内部的data和组件参数的props可以很好地配合使用来实现数据的传递。在Vue的组件中,data是组件内部的状态数据。它可以被组件中的所有方法访问和修改。在组件内部使用data,可以通过以下方式来声明:exportdefault{data(){

使用Vue开发中遇到的前后端数据传递问题 使用Vue开发中遇到的前后端数据传递问题 Oct 08, 2023 pm 01:25 PM

使用Vue开发中遇到的前后端数据传递问题,需要具体代码示例随着前端技术的发展,Vue作为一种流行的前端框架,越来越多的开发者选择使用Vue进行Web应用程序的开发。在Vue开发过程中,前后端数据的传递是一个非常重要的环节。本文将介绍一些在Vue开发中常见的前后端数据传递问题,并提供具体的代码示例来解决这些问题。前后端数据传递格式不统一在前后端数据传递过程中,

Vue中如何使用路由实现页面间的数据传递和状态管理? Vue中如何使用路由实现页面间的数据传递和状态管理? Jul 21, 2023 am 08:18 AM

Vue中如何使用路由实现页面间的数据传递和状态管理?在Vue中,路由(Router)是实现页面间切换的核心插件之一。除了页面的跳转,路由还可以用于实现数据的传递和状态的管理。本文将介绍如何使用Vue的路由插件(VueRouter)来实现页面间数据的传递和状态的管理,并提供相应的代码示例。路由的基本使用VueRouter是Vue.js官方的路由插件,它能够

Vue中如何使用v-bind指令传递数据 Vue中如何使用v-bind指令传递数据 Jun 11, 2023 am 10:45 AM

Vue是一款流行的JavaScript框架,它使用了许多指令来使前端开发更加简单和灵活。其中,v-bind指令是Vue中非常重要的一个指令,可以让我们将数据动态地绑定到html元素上。v-bind指令的语法很简单,可以用在任何html标签上,例如:&lt;imgv-bind:src=&quot;imageSrc&quot;&gt;这个例子中,v-bind指

See all articles