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> 
  • 相关阅读:
    ntohs, ntohl, htons,htonl的比较和详解
    转 linux socket的select函数例子
    转 结构体中字节对齐问题(转载)
    C语言中volatile关键字的作用
    转 字符串模式匹配算法——BM、Horspool、Sunday、KMP、KR、AC算法
    转 常见hash算法的原理
    转 从头到尾彻底解析Hash表算法
    [CEOI2020 D2T1 / CF1403A] 权力药水The Potion of Great Power 题解
    [CEOI2020 D1T3 / CF1402C] 星际迷航Star Trek 题解
    [CEOI2020 D1T2 / CF1402B] 道路Roads 题解
  • 原文地址:https://www.cnblogs.com/meil/p/700950.html
Copyright © 2011-2022 走看看