zoukankan      html  css  js  c++  java
  • JavaScript获取request参数的方法

    转自:http://yy629.javaeye.com/blog/296694

    代码如下: 

    UrlParm = function() { // url参数
      var data, index;
      (function init() {
        data = [];
        index = {};
        
    var u = window.location.search.substr(1);
        
    if (u != '') {
          
    var parms = decodeURIComponent(u).split('&');
          
    for (var i = 0, len = parms.length; i < len; i++) {
            
    if (parms[i] != '') {
              
    var p = parms[i].split("=");
              
    if (p.length == 1 || (p.length == 2 && p[1== '')) {
                data.push(['']);
                index[p[0]] = data.length - 1;
              } else if (typeof(p[0]) == 'undefined' || p[0== '') {
                data[0= [p[1]];
              } else if (typeof(index[p[0]]) == 'undefined') { // c=aaa
                data.push([p[1]]);
                index[p[0]] = data.length - 1;
              } else {// c=aaa
                data[index[p[0]]].push(p[1]);
              }
            }
          }
        }
      })();
      
    return {
        
    // 获得参数,类似request.getParameter()
        parm : function(o) { // o: 参数名或者参数次序
          try {
            
    return (typeof(o) == 'number' ? data[o][0] : data[index[o]][0]);
          } catch (e) {
          }
        },
        
    //获得参数组, 类似request.getParameterValues()
        parmValues : function(o) { //  o: 参数名或者参数次序
          try {
            
    return (typeof(o) == 'number' ? data[o] : data[index[o]]);
          } catch (e) {}
        },
        
    //是否含有parmName参数
        hasParm : function(parmName) {
          
    return typeof(parmName) == 'string' ? typeof(index[parmName]) != 'undefined' : false;
        },
        
    // 获得参数Map ,类似request.getParameterMap()
        parmMap : function() {
          
    var map = {};
          
    try {
            
    for (var p in index) {  map[p] = data[index[p]];  }
          } catch (e) {}
          
    return map;
        }
      }
    }();

    //使用示例:
    //url: http://127.0.0.1/demo.jsp?a&page=2&b=dd&c=123&b=dd2
    UrlParm.parm(0)             // 结果:  "";
    UrlParm.parm('a')            // 结果:  "";
    UrlParm.parm('page')       // 结果:  "2";
    UrlParm.parm(1)             // 结果:  "2";
    UrlParm.parm("b")           // 结果:  "dd";
    UrlParm.parmValues("b"// 结果:  ["dd","dd2"];
    UrlParm.hasParm("b")      // 结果:  true;
    UrlParm.hasParm("x")      // 结果:  false;
    UrlParm.parmMap()        // 结果:  {a:[""],page:[2],b:["dd","dd2"],c:["123"]};
  • 相关阅读:
    Kinect 开发 —— 硬件设备解剖
    Kinect 开发 —— 引言
    (转)OpenCV 基本知识框架
    OpenCV —— 摄像机模型与标定
    OpenCV —— 跟踪与运动
    OpenCV —— 图像局部与分割(二)
    OpenCV —— 图像局部与部分分割(一)
    OpenCV —— 轮廓
    OpenCV —— 直方图与匹配
    OpenCV —— 图像变换
  • 原文地址:https://www.cnblogs.com/lovebread/p/1604030.html
Copyright © 2011-2022 走看看