zoukankan      html  css  js  c++  java
  • Javascript中Request类的实现 (转)

    1、request.QueryString("参数")
    //获取指定参数,返回字符串;
    2、request.QueryStrings();
    //获取全部参数,并返回数组;
    3、request.setQuery("参数","参数的值");
    //如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。

    例如:
    当前地址栏参数字符串为:?name=a&site=never_online

    alert(request.setQuery("name","blueDestiny"))

    如果地址栏参数中有"name",那么返回?name=blueDestiny&site=never_online

    setQuery方法有自动追加参数的功能。如:
    当前地址栏参数字符串为:?site=never_online
    alert(request.setQuery("name","blueDestiny"))
    则返回?site=never_online&name=blueDestiny

    同理,如果地址栏没有参数,也会自动追加参数
    alert(request.setQuery("name","blueDestiny"))
    返回?name=blueDestiny

     1<SCRIPT LANGUAGE="JavaScript">
     2<!--
     3// author: never-online
     4// web: never-online.net
     5var request = {
     6 QueryString : function(val) {
     7 var uri = window.location.search;
     8 var re = new RegExp("" +val+ "\=([^\&\?]*)""ig");
     9 return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
    10 }
    ,
    11 QueryStrings : function() {
    12 var uri = window.location.search;
    13 var re = /\w*\=([^\&\?]*)/ig;
    14 var retval=[];
    15 while ((arr = re.exec(uri)) != null)
    16 retval.push(arr[0]);
    17 return retval;
    18 }
    ,
    19 setQuery : function(val1, val2) {
    20 var a = this.QueryStrings();
    21 var retval = "";
    22 var seted = false;
    23 var re = new RegExp("^" +val1+ "\=([^\&\?]*)$""ig");
    24 for(var i=0; i<a.length; i++{
    25 if (re.test(a[i])) {
    26 seted = true;
    27 a[i] = val1 +"="+ val2;
    28 }

    29 }

    30 retval = a.join("&");
    31 return "?" +retval+ (seted ? "" : (retval ? "&" : ""+val1+ "=" +val2);
    32 }

    33}

    34alert(request.setQuery("e","b"))
    35//-->
    36</SCRIPT> 
  • 相关阅读:
    Tomcat多域名及二级域名的配置
    Java 分割字符串
    Java 判断字符串是否为数字(浮点类型也包括)
    MySQL 判断某字段是否包含中文或字母字符的方法
    Java List排序,分组等操作
    Java 遍历List或Map集合的4种方式
    spring quartz注解任务执行两次解决方案
    java 获取当前时间精确到毫秒 格式化
    Java 方法返回多种类型
    Tomcat 设置直接通过域名访问项目(不需要接 /项目名)
  • 原文地址:https://www.cnblogs.com/meil/p/700950.html
Copyright © 2011-2022 走看看