js的跳转传参方式

在JavaScript中,实现页面跳转并传递参数的方式有多种,以下是一些常见的方法:

  1. URL参数

你可以通过修改URL的查询字符串(query string)来传递参数。这些参数会在URL的?之后,并使用&进行分隔。

 

代码

// 跳转到另一个页面并传递参数
window.location.href = 'target_page.html?param1=value1&param2=value2';

在目标页面中,你可以使用URLSearchParams接口或正则表达式从URL中提取参数。

 

代码

// 在目标页面中获取参数
const queryParams = new URLSearchParams(window.location.search);
const param1 = queryParams.get('param1'); // "value1"
const param2 = queryParams.get('param2'); // "value2"
  1. 哈希(Hash)参数

除了查询字符串外,你还可以使用URL的哈希部分(在#之后)来传递参数。但请注意,这种方法主要用于在客户端存储状态,而不是用于服务器端的路由。

 

代码

// 跳转到另一个页面并传递哈希参数
window.location.href = 'target_page.html#param1=value1&param2=value2';

在目标页面中,你可以使用window.location.hash来获取哈希部分,并使用相应的方法解析参数。
3. 会话存储(Session Storage)或本地存储(Local Storage)

对于更复杂的场景,你可能希望使用Web Storage API(包括sessionStoragelocalStorage)来存储和检索数据。这些存储机制允许你在同一源(协议、域名和端口)的不同页面之间共享数据。

 

代码

// 在一个页面中存储数据
sessionStorage.setItem('param1', 'value1');
localStorage.setItem('param2', 'value2');
// 在另一个页面中检索数据
const param1 = sessionStorage.getItem('param1'); // "value1"
const param2 = localStorage.getItem('param2'); // "value2"

请注意,sessionStorage中的数据在页面会话结束时(通常是浏览器窗口或标签页关闭时)会被清除,而localStorage中的数据则会在用户清除浏览器数据或手动删除之前一直存在。
4. Cookie

虽然Cookie主要用于服务器与客户端之间的通信,但你也可以使用它们来在客户端的不同页面之间传递数据。然而,由于Cookie的大小限制和每次HTTP请求都会发送Cookie的潜在性能问题,因此它们通常不是传递大量数据的首选方法。
5. 使用JavaScript库或框架

如果你正在使用JavaScript库或框架(如React、Vue、Angular等),那么可能会有更优雅和简洁的方法来管理和传递数据。例如,在React中,你可以使用React Router库来处理路由和参数传递。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/11984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优选算法——双指针1

双指针 常⻅的双指针有两种形式,⼀种是对撞指针,⼀种是左右指针。 对撞指针:⼀般⽤于顺序结构中,也称左右指针。 对撞指针从两端向中间移动。⼀个指针从最左端开始,另⼀个从最右端开始,然后逐渐往中间逼 近…

std::mem_fn和std::mem_fun

std::mem_fn和std::mem_fun&#xff08;deprecated&#xff09; Convert member function to function object&#xff0c;即将成员函数转化为函数对象&#xff0c;这样就可以像普通函数那样使用。 示例一&#xff1a; #include <iostream> // std::cout #include …

MySQL-InnoDB数据存储结构

1、存储结构-页 索引结构提供了高效的索引方式&#xff0c;索引信息以及数据记录都保存在数据文件或索引文件中&#xff08;本质存储在页结构中&#xff09; 1.1、磁盘与内存交互的基本单位&#xff1a;页 在InnoDB中将数据划分为若干页&#xff0c;页的默认大小为&#xff…

webpack并行构建示例:

由于js的单线程特性&#xff0c;文件和任务时 要等待一个任务执行完成后执行下一个任务&#xff0c;但在实际开发中&#xff0c;很多任务是可以并行执行的&#xff08;如同时处理多个不同js文件或同事压缩多张图片&#xff09;&#xff0c;一些loader和插件&#xff08;thread-…

【数据结构】解密链表之旅(单链表篇)

前言 哈喽大家好&#xff0c;我是野生的编程萌新&#xff0c;首先感谢大家的观看。数据结构的学习者大多有这样的想法&#xff1a;数据结构很重要&#xff0c;一定要学好&#xff0c;但数据结构比较抽象&#xff0c;有些算法理解起来很困难&#xff0c;学的很累。我想让大家知道…

自制无感无刷电机驱动板

自制无感无刷电机驱动板 分别测试了基于C251的STC32G单片机、Arduino AVR的ATmega328PB、以及ARM的ST32F103单片机。 &#x1f9f2;测试转动效果 ✒目前市面上开源的有关无刷电机的项目数不胜数&#xff0c;其控制原理都大同小异&#xff0c;在没有领透其技术要领情况下&#x…

苍穹外卖项目---------收获以及改进(9-12)

①Spring Task-------实现系统定时任务 概念&#xff1a; 应用场景&#xff1a; 使用步骤&#xff1a; 实现订单超时和前一天派送中的订单的自动任务处理&#xff1a; Component Slf4j public class Mytask {Autowiredprivate OrderServiceimpl orderServiceimpl;/*** 处理订…

yarn 安装以及报错处理

前一种报错是由于没有安装yarn导致的&#xff0c;使用以下命令即可安装&#xff1a; npm install -g yarn 如果成功安装&#xff0c;将显示Yarn的版本号。 yarn --version 第二种报错是因为系统上的执行策略限制导致的。执行策略是一种安全功能&#xff0c;用于控制在计算机…

grafana10.x报错 Failed to upgrade legacy queries Datasource x was not found

问题 grafana 从6.x升级到10.x后&#xff0c;导入json文件后报错&#xff0c;数据源x查询不到&#xff0c;grafana不显示数据&#xff1b; Templating Failed to upgrade legacy queries Datasource x was not found解决方法 可能grafana升级后数据源找不到&#xff0c;在面板…

上海市计算机学会竞赛平台2023年10月月赛丙组三个数的中位数

题目描述 给定三个整数&#xff0c;请输出按大小排序后&#xff0c;位于正中间的数字。 输入格式 第一行&#xff1a;三个整数 &#x1d44e;a, &#x1d44f;b 与 &#x1d450;c 输出格式 第一行&#xff1a;单个整数表示三者的中位数 数据范围 −10000≤&#x1d44e…

CentOS7 源码编译 rtpengine9.5.8

CentOS7 不好搞&#xff0c;但应客户要求&#xff0c;不得不搞 选择 rtpengine9.5.8 版本而不是更新的版本&#xff0c;肯定是有自己的考虑的 不废话了&#xff0c;直接上脚本&#xff1a; #!/bin/bash# CentOS7 最小安装yum -y install epel-release yum -y install git gc…

Kafka官方文档中文版+Kafka面试题详解!

你了解kafka吗&#xff1f;目前它在一线互联网公司以迅雷不及掩耳之势得到了广泛的应用。但究竟是什么呢&#xff1f;Kafka最初于2011年在LinkedIn开发&#xff0c;自那时起经历了很多改进。如今它是一个完整的平台&#xff0c;允许您冗余地存储荒谬的数据量&#xff0c;拥有一…

SH150S1光电吊舱

SH150S1光电吊舱 1产品应用 SH150S1是一款三轴三光吊舱&#xff0c;集成了最远测程达3.0km&#xff0c;精度小于2米的半导体激光测距机&#xff0c;640512高分辨率红外相机&#xff0c;30倍光学变倍可见光相机以及高稳定精度平台框架&#xff1b;可安装于中小型无人机&#x…

【每日刷题】Day40

【每日刷题】Day40 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 202. 快乐数 - 力扣&#xff08;LeetCode&#xff09; 2. 217. 存在重复元素 - 力扣&#xff08;Le…

vue2 报错,警告 解决方法 component name“Index“should always be multi-word

报错原因&#xff1a; 组件名称应该为俩个或俩个以上单词组成的&#xff0c;并且还要是大驼峰命名&#xff0c;例如&#xff1a;MyIndex&#xff0c;MyLogin等 解决方法一&#xff1a; 将组件名称改为俩个或俩个以上单词组成的名称&#xff0c;且为大驼峰命名&#xff0c;例如…

前端手写练习题及概念加深

通过举例和实际例子来加深前端的概念形式 1. 手写reduce 用法&#xff1a; // 手写 reduce const a [1, 3, 6, 8]const sum a.reduce((accu, curr) > accu curr, 0) console.log(sum, sum ) 在注释中解释 reduce 的手写方法 // 1. 明确参数累加函数&#xff0c;接受…

Django 和 Spring Boot

标题 Django (Python)Django提供的组件Django 的处理逻辑 Spring Boot (Java)Spring Boot 的特点Spring Boot 的处理逻辑 MVC设计模式模型&#xff08;Model&#xff09;视图&#xff08;View&#xff09;控制器&#xff08;Controller&#xff09;逻辑处理过程 Django 和 Spri…

Postman基础功能-Collection集合和批量运行

一、Collection&#xff08;集合&#xff09;介绍 当我们对一个或多个系统中的很多接口用例进行维护时&#xff0c;首先想到的就是对接口用例进行分类管理&#xff0c;同时还希望对这批接口用例做回归测试。 在 Postman 中也提供了这样一个功能&#xff0c;就是 Collec…

免费的GPT4终于要来了!OpenAI直播发布会详细解读!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

Docker下载镜像出现“missing signature key”如何解决?

“missing signature key” 通常与 Docker 配置有关&#xff0c;具体是 Docker 试图验证镜像的签名但未能找到相应的密钥。这种情况可能发生在启用了 Docker Content Trust (DCT) 的环境中&#xff0c;DCT 是一种安全功能&#xff0c;要求所有镜像必须有签名才能拉取。 原因 …