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

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

页面A代码如下:

 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.location.href="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>

页面B代码如下:

 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页面获取的参数值。

时间: 2024-11-05 12:26:13

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

js/jquery获取当前页面URL地址并判断URL字符串中是否包含某个具体值

js/jquery获取当前页面URL地址并判断URL字符串中是否包含某个具体值本文介绍jquery/js获取当前页面url地址的方法,在jquery与js中获取当前页面url方法是一样的,因为jquery没有自己相关的函数,使用js 的windows方法来获取,相关方法如下: window.location.pathname //设置或获取对象指定的文件名或路径 window.location.href //设置或获取整个 URL 为字符串 window.location.port //设置或获

Vue:不同页面之间的传递参数--params

在嵌套vue-router情况下,不同页面之间传递参数可以通过params实现.而params传参分为两种情况: 1.参数在url中显示 首先你要确定自己要传的参数,并在控制路由的文件中的Router中path内添加对应的字段如: { path:'/paramsUrl/:name/:age/:sex', component:paramsUrl} 我要传的参数是姓名,年龄以及性别. 在你要跳转的组件内定义参数,如: stu:{name:'Tom',age:18,sex:'male'} 同时在HTM

js实现两个页面之间跳转参数传递

html在设计时,规定跳转地址后加"?"表示从此开始为跟随页面地址跳转的参数. 有时候,我们希望获得相应的跳转前页面里的内容,这时候我们就可以考虑将内容以参数形式放到地址中传过来,这里我建议将参数以变量形式传递. 代码案例如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>direct1.ht

常用小Demo:用js/jQuery实现回到页面顶部功能

HTML代码: <div class="main">     Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ab amet debitis, dolore eveniet illo maiores nam neque nesciunt perspiciatis praesentium quaerat qui, quidem rem sequi similique sunt ullam voluptate 

js(jquery)代码在页面上实时地显示时间

一.引入jquery 二.HTML代码 三.js代码 1)引入js代码 2)下面是完整的js代码

0428日重点:页面之间通过url参数的方法传递变量

1.一个页面里的变量,要传递给另一个页面,可通过把变量作为网址的url参数的方法传递,在另一个页面(接收页面)里,先获取到属性,然后放在隐藏的input里,然后表单提交! 1.传递页面的url里,把变量作为参数写进去 2. 接收页面,js获取url中的参数,并把参数放入隐藏的input里. 3.最后ajax的时候,把获取到的参数上传.

页面与页面之间传递中文参数

var url1= "../../Test1.aspx?para=" + escape('中文参数'); var url2 = "....."; urlJS.js 获取该参数 var para = getValueString("para"); function getValueString(name) { var url = location.href; //var url = decodeURI(url); var url = decodeU

父子页面之间元素相互操作(iframe子页面)

js/jquery获取iframe子页面中元素的方法: 一.使用window.frames["iframe的ID"]获取元素 window.onload = function() { var oIframe = window.frames["oIframe"].document.getElementById("getFrame"); console.log(oIframe); } 注意:此处一定要加上window.onload或者DOMConte

萧墙HTML5手机发展之路(53)——jQueryMobile页面之间的参数传递

基于单个页面模板HTTP通过路POST和GET请求传递参数.在多页模板,并且不需要server沟通,通常有三种方式在多页模板来实现页面之间的参数传递. 1.GET道路:上一页页生成参数并传递到下一个页面,然后在下一个页GET内容分析. 2.通过HTML5的Web Storage进行參数传递. 3.建立当前页面变量.在前一个页面将所需传递的參数内容赋值到变量中.在后一个页面从变量中将參数取出来.(程序灵活性较弱) 一.以GET方式实现页面间參数传递 <!DOCTYPE html> <htm