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"]};
  • 相关阅读:
    CentOS安装Nginx Pre-Built
    CMake设置编译参数
    SQLServer脚本编写
    使用QNetworkAccessManager实现Qt的FTP下载服务
    使用CMD命令设置IP
    IIS6(Win2003) 使用.net 4.0 后,默认文档失效解决方案。
    windows7打印时,显示脱机,提示“服务器打印后台处理程序服务没有运行”。
    阻止浏览器自动填表
    Java经典编程题50道之四
    Java经典编程题50道之三
  • 原文地址:https://www.cnblogs.com/lovebread/p/1604030.html
Copyright © 2011-2022 走看看