位置: IT常识 - 正文

Web 页面之间传递参数的几种方法(html页面间传数据)

发布时间:2024-01-06
Web 页面之间传递参数的几种方法

推荐整理分享Web 页面之间传递参数的几种方法(html页面间传数据),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:html页面间传数据,网页之间传递值的几种方式,web页面之间的传递数据方式,网页之间传值,web页面传值的方式,网页之间传递数据,web页面之间的传递数据方式,web页面传值的方式,内容如对您有帮助,希望把文章链接给更多的朋友!

Web 页面之间传递参数的方法有很多种,下面列出一些常见的方法以及它们的代码示例。

一、前端直接传递参数

1、URL 参数传递(query string):通过 URL 的查询字符串(即问号后面的参数)将参数传递给页面。可以通过location.search或URLSearchParams对象来获取和解析参数。// 发送参数const params = {id: 123, name: 'Alice'};const url = `http://example.com/page?${new URLSearchParams(params)}`;window.location.href = url;// 接收参数const searchParams = new URLSearchParams(window.location.search);const id = searchParams.get('id');const name = searchParams.get('name');

 2、URL hash传递:通过 URL 的 hash 值来传递参数。例如,http://example.com/#/page?id=1可以传递一个名为id的参数。可以通过location.hash来获取和解析hash值中的参数。

// 发送参数const id = 123;window.location.hash = `#id=${id}`;// 接收参数const searchParams = new URLSearchParams(window.location.hash.substring(1));const id = searchParams.get('id');

 3、URL 路径传递:通过 URL 的路径参数来传递参数。例如,/users/:id可以传递一个名为id的参数。可以通过路由框架(如 React Router)来解析路径参数。

// 发送参数const id = 123;window.location.href = `http://example.com/page/${id}`;// 接收参数const id = parseInt(window.location.pathname.split('/').pop());Web 页面之间传递参数的几种方法(html页面间传数据)

 4、JavaScript 变量:通过 JavaScript 变量来传递参数。可以在不同的页面之间共享全局变量,或者在一个页面内使用模块化开发来传递参数。

// 发送参数const id = 123;window.myGlobalId = id;// 接收参数const id = window.myGlobalId;

 5、Cookie:通过在浏览器中存储 Cookie 来传递参数。可以通过document.cookie来读取和设置 Cookie。

// 发送参数document.cookie = 'id=123; path=/';// 接收参数const cookies = document.cookie.split(';').map(cookie => cookie.trim().split('='));const id = cookies.find(cookie => cookie[0] === 'id')[1];

 6、Web 存储:过 HTML5 的localStorage或sessionStorage来在浏览器中存储数据。可以通过localStorage.getItem()和localStorage.setItem()等方法来读取和设置存储的值。

// 发送参数localStorage.setItem('id', 123);// 接收参数const id = localStorage.getItem('id');

 7、自定义事件:通过自定义事件来在不同的组件之间传递数据。可以通过CustomEvent对象来定义和触发自定义事件,通过element.dispatchEvent()方法来触发事件。

// 发送参数const event = new CustomEvent('myEvent', {detail: {id: 123, name: 'Alice'}});document.dispatchEvent(event);// 接收参数document.addEventListener('myEvent', event => { const {id, name} = event.detail;});

二、后端间接传递参数

8、表单提交:过表单的提交将表单中的数据传递给后台服务器或其他页面。可以通过form元素的submit方法或XMLHttpRequest对象来实现表单提交。<!-- 发送参数 --><form method="POST" action="http://example.com/page"> <input type="text" name="id" value="123"> <input type="text" name="name" value="Alice"> <button type="submit">提交</button></form><!-- 接收参数 --><?php$id = $_POST['id'];$name = $_POST['name'];?>

9、WebSocket:通过 WebSocket 协议在浏览器和服务器之间实时传递数据。可以使用 WebSocket API 来建立 WebSocket 连接,并通过WebSocket.send()方法来发送数据。

// 发送参数const id = 123;const ws = new WebSocket('ws://example.com');ws.onopen = () => ws.send(JSON.stringify({id}));// 接收参数const ws = new WebSocket('ws://example.com');ws.onmessage = event => { const {id} = JSON.parse(event.data);};

 10、Fetch API:通过 Fetch API 发送 HTTP 请求,并通过请求的 body 传递数据。可以使用fetch()方法来发送请求,并通过body参数传递数据。

// 发送参数const params = {id: 123, name: 'Alice'};fetch('http://example.com/page', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify(params)});// 接收参数const body = await fetch('http://example.com/page').then(res => res.json());const {id, name} = body;

 11、AJAX:通过 XMLHttpRequest 对象发送异步 HTTP 请求,通过请求的参数传递数据。可以通过XMLHttpRequest.send()方法发送请求,通过XMLHttpRequest.onreadystatechange事件监听请求的状态变化。

// 发送参数const xhr = new XMLHttpRequest();xhr.open('POST', 'http://example.com/page');xhr.setRequestHeader('Content-Type', 'application/json');xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) { console.log(xhr.responseText); }};const params = {id: 123, name: 'Alice'};xhr.send(JSON.stringify(params));// 接收参数const xhr = new XMLHttpRequest();xhr.open('GET', 'http://example.com/page');xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) { const {id, name} = JSON.parse(xhr.responseText); }};xhr.send();
本文链接地址:https://www.jiuchutong.com/zhishi/288123.html 转载请保留说明!

上一篇:微信小程序解决view点击事件穿透地图map触发markertap(微信小程序解决跨域问题)

下一篇:【图神经网络实战】深入浅出地学习图神经网络GNN(上)(图神经网络gat)

  • 苹果13分辨率是2k吗(苹果13分辨率是几k最清楚的)

    苹果13分辨率是2k吗(苹果13分辨率是几k最清楚的)

  • qq深色模式怎么关闭(qq深色模式怎么关闭不了)

    qq深色模式怎么关闭(qq深色模式怎么关闭不了)

  • 华为p40 pro是5g手机吗(华为p40pro是真正意义上的5g吗)

    华为p40 pro是5g手机吗(华为p40pro是真正意义上的5g吗)

  • 什么是压排屏幕(压排屏幕是什么意思啊)

    什么是压排屏幕(压排屏幕是什么意思啊)

  • 钉钉的情侣头像是什么软件(钉钉情侣头像无水印)

    钉钉的情侣头像是什么软件(钉钉情侣头像无水印)

  • 微信更改实名后还是老微信吗(微信更改实名后银行卡会解绑吗)

    微信更改实名后还是老微信吗(微信更改实名后银行卡会解绑吗)

  • 京东买的苹果可以去直营店保修吗(京东买的苹果可以去直营店以旧换新)

    京东买的苹果可以去直营店保修吗(京东买的苹果可以去直营店以旧换新)

  • 华为售后必须预约吗(华为售后能否不预约直接上门?)

    华为售后必须预约吗(华为售后能否不预约直接上门?)

  • 华为p30pro前置摄像头像素(华为p30pro前置摄像头)

    华为p30pro前置摄像头像素(华为p30pro前置摄像头)

  • 腾讯会议怎么显示没麦(腾讯会议怎么显示电脑屏幕)

    腾讯会议怎么显示没麦(腾讯会议怎么显示电脑屏幕)

  • 抖音蓝v认证后可以改名字吗(抖音蓝v认证后怎样修改个人简介)

    抖音蓝v认证后可以改名字吗(抖音蓝v认证后怎样修改个人简介)

  • qq的创始人是谁人(qq的创始人是马化腾吗)

    qq的创始人是谁人(qq的创始人是马化腾吗)

  • 苹果手机手写怎么设置(苹果手机手写怎么调出来)

    苹果手机手写怎么设置(苹果手机手写怎么调出来)

  • 华为gt2能回微信吗(华为gt2能回复微信吗?)

    华为gt2能回微信吗(华为gt2能回复微信吗?)

  • 华为手机锁屏新闻怎么关闭(华为手机锁屏新闻怎么取消)

    华为手机锁屏新闻怎么关闭(华为手机锁屏新闻怎么取消)

  • 动态评分多久更新一次(动态评分是几个月的)

    动态评分多久更新一次(动态评分是几个月的)

  • 怎么在淘宝购物(怎么在淘宝购物买东西)

    怎么在淘宝购物(怎么在淘宝购物买东西)

  • xr如何切换手机卡打电话(苹果xr怎么切换另一个号使用数据)

    xr如何切换手机卡打电话(苹果xr怎么切换另一个号使用数据)

  • iphonex摄像头是索尼的吗(iphonex摄像头是多少像素)

    iphonex摄像头是索尼的吗(iphonex摄像头是多少像素)

  • 小米9se有红外线功能吗(小米9se红外线在哪)

    小米9se有红外线功能吗(小米9se红外线在哪)

  • 华为智能识别怎么用(华为 智能识别)

    华为智能识别怎么用(华为 智能识别)

  • 手机突然开不了机是什么原因 怎么办(手机突然开不了5G怎么办)

    手机突然开不了机是什么原因 怎么办(手机突然开不了5G怎么办)

  • element plus组件居中显示(elementui常用组件)

    element plus组件居中显示(elementui常用组件)

  • 进项税额转出补交税款
  • 外管证是在当地办理还是在外地办理
  • 物流公司车子保险费怎么做账
  • 经营许可证要交税吗
  • 油卡预付款可以报销吗
  • 取得不动产权证书时间是指哪个时间
  • 分公司独立核算还需要总公司汇总缴纳吗
  • 税务稽查增值税
  • 普通发票申请表怎么填写
  • 外贸企业视同内销进项可以抵扣吗
  • 准予抵扣的消费税
  • 销项税没有进项税多
  • 开汽车租赁发票需要什么资料?
  • 税收预测表模板
  • 业主委员会的收益
  • 核算错误和重分类错误
  • 无票收入负数怎么报增值税
  • 分公司的财产归总公司所有吗
  • 如何查看windows10
  • 微软雅黑字体一般用在哪里
  • 政府收储土地补偿款账务处理
  • 进项大于销项会计分录
  • 总公司给子公司打款 如何做凭证
  • 物权请求权如何行使
  • 虚拟机怎么安装gcc
  • php数组有哪几种类型
  • 公司帮员工代缴社保有风险吗
  • win10电脑记事本在哪
  • 小米路由器2代改8t
  • 应付债券利息费用
  • 外购商品转为自用洧费税计算
  • 犹他州现神秘物体
  • pace框架
  • yii框架连接数据库
  • thinkphp框架的作用
  • php zend原理
  • spring集成xfire
  • element ui
  • 公允价值计量的投资性房地产
  • 小规模普通发票几个点的税
  • 会计科目在建工程含税吗
  • 往来款项属于
  • 个人工作室需要做账吗
  • mysql error!
  • 软件属于哪种无形资产
  • 股权转让个人所得税怎么算
  • 红字发票销项税额账务处理
  • 固定资产账实不符违反的规定
  • 账本更正方法
  • 固定资产在以后会计期间可以转回吗
  • 企业计提福利费按多少提
  • 费用误计入固定资产
  • 预提费用在新会计准则下该如何列支?
  • sqlserver将查询结果作为临时表
  • 通过MySQL优化Discuz!的热帖翻页的技巧
  • sql高级语句实例
  • win10系统怎么调
  • linux which ls
  • .exe是啥
  • win8系统 Cisco VPN 442错误怎么办?解决方法介绍
  • win10怎样永久激活
  • win8怎么设置成win7菜单
  • 原生封装ajax
  • three.js 文档
  • 搭建android开发环境时为什么要先安装jdk
  • 分区工具怎么取消主分区
  • javascript的判断语句
  • 用jquery制作网页
  • 如何使用nodejs
  • 移动端web开发需要学什么
  • js菜鸟编程
  • javascript标签大全
  • jquery实现点击按钮
  • 好看的手写字纯文字
  • 税务局三级主办是副科吗
  • 税务工作秘密管理暂行办法
  • 税收通知
  • 投资损失属于所得税吗
  • 关于返回
  • 云南省昆明市税收优惠政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号