深蓝之网络

探讨网站建设,主机,域名,VPS,服务器

« 关于Burst Net的VPS操作系统的选择GODADDY VDS/VPS配置详细介绍 »

用JavaScript获取得Request参数的方法

[转载] JavaScript获取Request参数的方法

作者用变量式函数来做了JavaScript获取Request参数的方法,
调用非常方便。我已经测试过了可以正常使用。推荐收藏备用。  

JavaScript Code
  1. UrlParm = function() { // url参数   
  2.   var data, index;   
  3.   (function init() {   
  4.     data = [];   
  5.     index = {};   
  6.     var u = window.location.search.substr(1);   
  7.     if (u != '') {   
  8.       var parms = decodeURIComponent(u).split('&');   
  9.       for (var i = 0, len = parms.length; i < len; i++) {   
  10.         if (parms[i] != '') {   
  11.           var p = parms[i].split("=");   
  12.           if (p.length == 1 || (p.length == 2 && p[1] == '')) {   
  13.             data.push(['']);   
  14.             index[p[0]] = data.length - 1;   
  15.           } else if (typeof(p[0]) == 'undefined' || p[0] == '') {   
  16.             data[0] = [p[1]];   
  17.           } else if (typeof(index[p[0]]) == 'undefined') { // c=aaa   
  18.             data.push([p[1]]);   
  19.             index[p[0]] = data.length - 1;   
  20.           } else {// c=aaa   
  21.             data[index[p[0]]].push(p[1]);   
  22.           }   
  23.         }   
  24.       }   
  25.     }   
  26.   })();   
  27.   return {   
  28.     // 获得参数,类似request.getParameter()   
  29.     parm : function(o) { // o: 参数名或者参数次序   
  30.       try {   
  31.         return (typeof(o) == 'number' ? data[o][0] : data[index[o]][0]);   
  32.       } catch (e) {   
  33.       }   
  34.     },   
  35.     //获得参数组, 类似request.getParameterValues()   
  36.     parmValues : function(o) { //  o: 参数名或者参数次序   
  37.       try {   
  38.         return (typeof(o) == 'number' ? data[o] : data[index[o]]);   
  39.       } catch (e) {}   
  40.     },   
  41.     //是否含有parmName参数   
  42.     hasParm : function(parmName) {   
  43.       return typeof(parmName) == 'string' ? typeof(index[parmName]) != 'undefined' : false;   
  44.     },   
  45.     // 获得参数Map ,类似request.getParameterMap()   
  46.     parmMap : function() {   
  47.       var map = {};   
  48.       try {   
  49.         for (var p in index) {  map[p] = data[index[p]];  }   
  50.       } catch (e) {}   
  51.       return map;   
  52.     }   
  53.   }   
  54. }();   
  55.   
  56. //使用示例:   
  57. //url: http://127.0.0.1/demo.jsp?a&page=2&b=dd&c=123&b=dd2   
  58. UrlParm.parm(0)             // 结果:  "";   
  59. UrlParm.parm('a')            // 结果:  "";   
  60. UrlParm.parm('page')       // 结果:  "2";   
  61. UrlParm.parm(1)             // 结果:  "2";   
  62. UrlParm.parm("b")           // 结果:  "dd";   
  63. UrlParm.parmValues("b")  // 结果:  ["dd","dd2"];   
  64. UrlParm.hasParm("b")      // 结果:  true;   
  65. UrlParm.hasParm("x")      // 结果:  false;   
  66. UrlParm.parmMap()        // 结果:  {a:[""],page:[2],b:["dd","dd2"],c:["123"]};  
 

 

相关文章:

最新评论:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Copyright www.dieep.com. All Rights Reserved.

Powered By Z-Blog 1.8 Walle Build 100427