`
hackbomb
  • 浏览: 216643 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用js从url中提取request参数

阅读更多

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] ==  '' )) { // p | p=   
            data.push([ '' ]);   
            index[p[0]] = data.length - 1;   
          }  else   if  ( typeof (p[0]) ==  'undefined'  || p[0] ==  '' ) {  // =c | =   
            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"]};  

分享到:
评论

相关推荐

    flex通过URL获取request参数

    在Flex开发中,我们经常需要从URL中获取请求参数,以便在应用程序中使用这些数据进行交互。本篇文章将深入探讨如何在Flex应用中通过URL获取`request`参数,并结合提供的文件列表来阐述实际操作步骤。 标题中的"flex...

    如何用js获取当前url的参数值

    2. **提取查询字符串**:接着使用`substring`方法提取URL中从问号(?)之后的部分,这部分即为查询字符串。然后利用`split`方法根据“&”符号分割查询字符串,得到一个包含各个查询参数的数组。 3. **构建对象**:...

    使用JavaScript获取Request中参数的值方法

    这篇文章将详细讲解如何使用JavaScript和jQuery来获取URL请求(Request)中的参数值。 首先,我们需要理解URL的结构。URL通常由协议、主机名、端口号(可选)、路径和查询字符串组成。在查询字符串中,参数以键值对...

    JS获取url参数详细

    在JavaScript中,获取URL参数是常见的需求,尤其是在构建动态网页时。本文将详细介绍两种方法来获取URL中的参数值,一种是字符串分割分析法,另一种是正则表达式分析法。 一、字符串分割分析法 这种方法主要利用...

    使用JavaScript获取URL中的参数(两种方法)

    在JavaScript编程中,有时我们需要从URL中获取特定的查询参数,这对于实现动态页面或处理用户输入数据至关重要。本文将介绍两种方法来实现这一目标。 ### 方法一:通过字符串操作 这种方法利用了JavaScript的内置...

    获取request的参数

    无论你使用哪种语言或框架,理解如何正确地从`request`中提取参数是构建健壮的Web应用程序的基础。同时,别忘了处理可能出现的异常,如参数不存在或格式错误,并对敏感数据进行安全验证和过滤,以防止注入攻击。在...

    JS request函数 用来获取url参数

    本文将详细介绍一个实用的JavaScript函数——`request`函数,该函数能够帮助我们轻松地从当前URL中提取所需的查询参数。 #### 函数定义与原理 `request`函数的功能是从URL中解析出指定名称的参数值。其核心逻辑是...

    js中获取URL参数的共用方法getRequest()方法实例详解

    在JavaScript(JS)中,获取URL参数是一项常见的任务,它涉及到解析URL字符串并提取其中的键值对。这里我们将深入探讨如何使用自定义函数`getRequest()`来实现这一功能,并比较另一种常用的获取URL参数的方法。 ...

    通过JS获取Request.QueryString()参数的值实现方法

    在实际使用中,假设我们有一个URL `default.aspx?ID=111`,我们可以像下面这样调用`getArgs`函数来获取`ID`的值: ```javascript var x = getArgs("ID"); console.log(x); // 输出:111 ``` 这个例子展示了如何在...

    Jsp的request的用法

    例如,当用户在表单中输入数据并提交时,`request.getParameter()`可以从请求中提取这些数据。返回值为字符串类型。 ```jsp // 示例 String username = request.getParameter("username"); ``` 2. **request....

    JSP中js传递和解析URL参数以及中文转码和解码问题

    首先检查URL中是否存在查询字符串,如果存在,则提取并分割它,然后遍历分割后的参数数组,通过再次分割以“=”为分隔符的字符串来分别获取参数名和参数值,最后使用`unescape`函数对参数值进行解码,并将它们存储在...

    Nginx 根据URL带的参数转发的实现

    通过正则表达式匹配和变量赋值,我们可以灵活地从请求的URL中提取所需参数,并根据这些参数构建转发的目标地址。 接下来,我们来详细探讨如何实现Nginx根据URL参数的转发。在文章提供的示例中,有一个特定的...

    Laravel 之url参数,获取路由参数的例子

    在Laravel框架中,URL参数和路由参数是两个关键概念,它们在构建动态Web应用程序时起着至关重要的作用。这篇文章将深入探讨这两个概念,...希望本文的示例和解释能帮助你更好地掌握Laravel中URL参数和路由参数的使用。

    打开新的窗口并传送参数

    这里的`id`和`id1`就是从URL中提取出来的参数值。这些值可以进一步被用于执行后端逻辑,例如查询数据库、处理业务逻辑等。 ### 示例代码分析 根据提供的部分代码示例,我们可以看到作者使用了ASP.NET和JavaScript...

    JS获取URL中参数值(QueryString)的4种方法分享

    在JavaScript中,获取URL中的参数值,也称为查询字符串(QueryString),是常见的需求,尤其是在页面交互和传递数据时。本文将介绍四种不同的方法来实现这一功能。 ### 方法一:正则法 正则表达式是一种强大的文本...

    js获取url参数的使用扩展实例

    本文将详细介绍如何使用JavaScript来获取URL中的参数,并提供了一个具体的实例来帮助理解这一过程。 #### 关键概念解析 ##### 1. URL 结构 URL(Uniform Resource Locator)是统一资源定位符,用于标识互联网上的...

    Javascript Request获取请求参数如何实现

    在JavaScript中,我们可以使用String对象的原型方法来扩展String对象的功能,使其具备从字符串中提取特定参数的能力。这种方法的好处是,一旦添加到String对象的原型上,它就可以被任何字符串所调用,从而实现代码...

Global site tag (gtag.js) - Google Analytics