前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >js jquery 实现html页面之间参数传递(单一参数、对象参数传递)

js jquery 实现html页面之间参数传递(单一参数、对象参数传递)

作者头像
大道七哥
发布于 2019-09-10 06:48:36
发布于 2019-09-10 06:48:36
7.6K00
代码可运行
举报
文章被收录于专栏:大道七哥大道七哥
运行总次数:0
代码可运行

最近自己在忙着做毕业设计,后台程序员,前端菜鸡,因为需要,所以实现了html页面之间参数传递。------jstarseven 、菜鸡的自我修养.

页面A代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>html页面参数传递</title>
 6 </head>
 7 <body>
 8     页面A
 9 <input id="btn-a" type="button" value="跳转B页面"/>
10 <script type="text/javascript" src="jquery-1.11.2.js"></script>
11 </body>
12 <script>
13 
14 $(document).ready(function(){
15 
16     var obj={
17         id:1,
18         name:"张三",
19         age:10
20     };
21     alert("A页面参数:"+parseParam(obj));
22     $("#btn-a").click(function(){
23         window.kk="domoB.html?"+parseParam(obj);
24     });
25     
26 });
27 
28 
29 
30 // 将js对象转成url jquery实现
31 var parseParam=function(paramObj, key){
32   var paramStr="";
33   if(paramObj instanceof String||paramObj instanceof Number||paramObj instanceof Boolean){
34     paramStr+="&"+key+"="+encodeURIComponent(paramObj);
35   }else{
36     $.each(paramObj,function(i){
37       var k=key==null?i:key+(paramObj instanceof Array?"["+i+"]":"."+i);
38       paramStr+='&'+parseParam(this, k);
39     });
40   }
41   return paramStr.substr(1);
42 };
43 
44 
45 /**
46  * paramObj 将要转为URL参数字符串的对象
47  * key URL参数字符串的前缀
48  * encode true/false 是否进行URL编码,默认为true
49  * js实现
50  * return URL参数字符串
51  */
52 var urlEncode = function (paramObj, key, encode) {
53   if(paramObj==null) return '';
54   var paramStr = '';
55   var t = typeof (paramObj);
56   if (t == 'string' || t == 'number' || t == 'boolean') {
57     paramStr += '&' + key + '=' + ((encode==null||encode) ? encodeURIComponent(paramObj) : paramObj);
58   } else {
59     for (var i in paramObj) {
60       var k = key == null ? i : key + (paramObj instanceof Array ? '[' + i + ']' : '.' + i);
61       paramStr += urlEncode(paramObj[i], k, encode);
62     }
63   }
64   return paramStr;
65 };
66 
67 
68 </script>
69 </html>

转载请标明原文地址:http://www.cnblogs.com/jstarseven/p/5537333.html

页面B代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>html页面参数传递</title>
 6 </head>
 7 <body>
 8     页面B
 9 <script type="text/javascript" src="jquery-1.11.2.js"></script>
10 </body>
11 <script>
12 
13 $(document).ready(function(){
14     var obj=GetRequest();
15     alert(obj.id+"--"+obj.name+"--"+obj.age);
16 });
17 
18 
19 
20 //根据参数名称获取url参数
21 function getUrlParamValue(name) {
22     var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
23     var r = window.location.search.substr(1).match(reg);
24     if (r != null) return decodeURIComponent(r[2]);
25     return null;
26 }
27 
28 //获取url参数封装成对象
29 function GetRequest() {
30   
31   var url = location.search; //获取url中"?"符后的字串
32    var theRequest = new Object();
33    if (url.indexOf("?") != -1) {
34       var str = url.substr(1);
35       strs = str.split("&");
36       for(var i = 0; i < strs.length; i ++) {
37          theRequest[strs[i].split("=")[0]]=decodeURIComponent((strs[i].split("=")[1]));
38       }
39    }
40    return theRequest;
41 }
42 
43 
44 </script>
45 </html>

首先打开页面A,显示会传递的数据参数,点击跳转按钮---》B页面显示B页面获取的参数值。


-END-

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-05-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jQuery实用工具类--jQuery基础知识点(3)
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
奋飛
2019/08/15
5130
JavaScript中常用的方法汇总
2. 服务端验证场景:表单验证需要服务端配合,只执行一段连续的输入事件的最后一次;
越陌度阡
2020/11/26
6700
两个特别常用的JS函数
//对象追加到url作为参数 function queryString(url, query) { let str = [] for (let key in query) { str
挨踢小子部落阁
2023/03/16
1.2K0
两个特别常用的JS函数
跨域请求数据解决方案整理
跨域请求数据解决方案主要有如下解决方法: JSONP方式 表单POST方式 服务器代理 Html5的XDomainRequest Flash request 分开说明: 一、JSONP: 直观的理解: 就是在客户端动态注册一个函数 function a(data),然后将函数名传到服务器,服务器返回一个a({/*json*/})到客户端运行,这样就调用客户端的 function a(data),从而实现了跨域. 诞生背景: 1、Ajax直接请求普通文件存在跨域无权访问的问题,甭管是静态页面、动态网页、web
小端
2018/04/16
1.3K0
Hadoop数据分析平台实战——250JSSDK数据收集引擎编写离线数据分析平台实战——250JSSDK数据收集引擎编写
离线数据分析平台实战——250JSSDK数据收集引擎编写 JsSDK设计规则 在js sdk中我们需要收集launch、pageview、chargeRequest和eventDuration四种数据
Albert陈凯
2018/04/08
1.8K0
Hadoop数据分析平台实战——250JSSDK数据收集引擎编写离线数据分析平台实战——250JSSDK数据收集引擎编写
【愚公系列】2022年01月 Django商城项目11-登录界面-页面设计
文章目录 一、HTML页面 二、js文件 三、页面效果 一、HTML页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type"
愚公搬代码
2022/01/15
1980
【愚公系列】2022年01月 Django商城项目11-登录界面-页面设计
PHP全栈学习笔记8
面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。
达达前端
2019/07/03
6520
Jquery插件知识之Jquery.cookie实现页面传值
张哥编程
2024/12/17
2520
Html5 学习系列(四)文件操作API
    在之前我们操作本地文件都是使用flash、silverlight或者第三方的activeX插件等技术,由于使用了这些技术后就很难进行跨平台、或者跨浏览器、跨设备等情况下实现统一的表现,从另外一个角度来说就是让我们的web应用依赖了第三方的插件,而不是很独立,不够通用。在HTML5标准中,默认提供了操作文件的API让这一切直接标准化。有了操作文件的API,让我们的Web应用可以很轻松的通过JS来控制文件的读取、写入、文件夹、文件等一系列的操作,让Web应用不再那么蹩脚,而之前Web应用如果不借助第三方插件,那就是个shit!但是最新的标准中大部分浏览器都已经实现了文件的读取API,文件的写入,文件和文件夹的最新的标准刚制定完毕,相信后面随着浏览器的升级这些功能肯定会实现的非常好,接下来我主要给大家介绍文件读取的几个API。
老马
2022/05/10
6470
jsonp详解
说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决。 但到目前为止最被推崇或者说首选的方案还是 用JSON来传数据,靠JSONP来跨域。而这就是本文将要讲述的内容。 JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,具体可以参见:json。而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。而本文主要讲述的是JSONP。
栋先生
2018/09/29
1.7K0
jsonp详解
w3c标准html5手册_在w3c中规定html决定页面的
下面的图是我在网上看到的一张图,总结的非常好。转: HTML常用标签及其用法
全栈程序员站长
2022/09/30
1.3K0
w3c标准html5手册_在w3c中规定html决定页面的
杨校老师课堂之Web前端JS类库_JQuery案例[效果图与代码齐全]
下载:https://files.cnblogs.com/files/xiaoxiao5016/font-awesome.min.css  或者官方下载:https://fontawesome.com/download
杨校
2019/06/14
8470
JavaScript面向对象之Windows对象
JavaScript之Window对象 首先我们先了解一个概念:事件。 事件,就是把一段代码设置好,满足条件时触发。或者说,事件是可以被 JavaScript 侦测到的行为。 网页中每个元素都可以触发JavaScript事件。 我们先来看一个简单的事件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html
二十三年蝉
2018/02/27
1.2K0
JavaScript面向对象之Windows对象
说说JSON和JSONP,也许你会豁然开朗-转
今天在写底层通信框架的时候,遇到了跨域的问题;随便给不知道的童鞋们分享下基础知识。 前言   由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。   当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socket通讯和本地数据库功能,又或者通过HTML5的WebSocket也可以实现与服务器的通讯和服务端推功能,但这两种方式都有其局限性,前者需要PhoneGap支持,后者要求用户设备必须支持WebSocket,因此都
李海彬
2018/03/19
1.7K0
说说JSON和JSONP,也许你会豁然开朗-转
说说JSON和JSONP( 含jquery例子)
说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用XML来描述,跨域可以通过服务器端代理来解决。 但到目前为止最被推崇或者说首选的方案还是用JSON来传数据,靠JSONP来跨域。而这就是本文将要讲述的内容。 JSON和JSONP虽然只有一个字母的差别,但其实他们根本不是一回事儿:JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。我们拿
java达人
2018/01/31
1.6K0
php实现简单的权限管理的示例代码
今天主要来实现一个权限管理系统,它主要是为了给不同的用户设定不同的权限,从而实现不同权限的用户登录之后使用的功能不一样,首先先看下数据库
用户2323866
2021/07/02
9960
使用jQuery来创建Silverlight
使用jQuery来创建Silverlight jQuery已经成为了VS2010内置支持的JavaScript脚本框架了,小巧实用。这里看看怎么用jQuery来在页面中创建一个Silverlight。( 呵呵,有一种swfobject的感觉了 ) jquery.silverlight.js jQuery.fn.extend({     silverlight: function(opts) {         _opts = jQuery.extend({             background
用户1172164
2018/03/01
1K0
计算还可以输入多少个字
Demo html页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <ti
joshua317
2018/04/16
7970
HTML中的setCapture和releaseCapture使用介绍
setCapture函数的作用就是将后续的mouse事件都发送给这个对象,releaseCapture就是将鼠标事件还回去,由 document、window、object之类的自行来处理。这样就保证了在拖动的过程中,不会由于经过了其它的元素而受到干扰 – 另外,还有一个很重 要的事情是,在Win32上,mouse move的事件不是一个连续的,也就是说,并不是我们每次移动1px的鼠标指针,就会发生一个mousemove,windows会周期性检查mouse 的位置变化来产生mousemove的事件。 所以,如果是一个很小的页面对象,比如一个直径5px的圆点,如果没有setCapture和 releaseCapture,那么在鼠标按住之后,快速的移动鼠标,就有可能鼠标移动走了,但是小圆点还在原地,就是因为下一次的mousemove事 件已经不再发给这个圆点对象了。
全栈程序员站长
2022/09/02
8920
iframe 父页面与子页面之间的方法的相互调用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Parent Page</title> <script language="javascript" type="text/j
山河木马
2019/03/05
3.2K0
相关推荐
jQuery实用工具类--jQuery基础知识点(3)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验