当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 用在JavaScript的RequestHelper

ASP.NET
asp.net 控件验证 FCKeditor
asp.net Repeater 自增
asp.net 安全、实用、简单的大容量存储过程分页
asp.net 编译器错误信息: CS0006: 未能找到元数据文件 该死的.NET
asp.net url 伪静态设置方法
C# 没有动态的数组,可以用arraylist或list取代
c# static 静态数据成员
ASP.NET 字符串截取
Discuz!nt 源文件变成乱码的解决方法
Javascript C#真正可以交互的DES加解密代码
asp.net 数组中字符串替换的几种方式
ASP.NET 生成静态页面 实现思路
在asp.net(C#)中采用自定义标签和XML、XSL显示数据
ASP.NET(C#)应用程序配置文件app.config/web.config的增、删、改操作
ASP.NET MVC引入JQUERY JQRTE控件
C# Base64编码
discuz 跨域整合的记录文件
SQL注入中绕过 单引号 限制继续注入
.net清空所有Cache的实现代码
discuz nt的退出实现代码

ASP.NET 中的 用在JavaScript的RequestHelper


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 198 ::
收藏到网摘: n/a

    碰到一个小小的需求,就是要根据传入的锚(也就是url中#后面的东西啦)来显示不同的内容,记得以前写了的,不知道被我丢到哪去了,又要重新写一个,顺便把功能整理加强了一些,加入了取QueryString和Cookie的东西,老习惯,贴代码. 
 
以下为引用的内容:
  RequestHelper.js
  //功能 : 在javascript中提供QueryString/Cookie/Anchor的访问.
  /*使用 :
  var Request = new RequestHelper();
  var s = Request.QueryString["id"]; //取得url中的id参数.
  var c = Request.Cookies["name"]; //取得id为name的cookie值.
  var a = Request.Anchor; //取得url中定位的锚点名称.
  */
  //更新 : 2008-05-31
  RequestHelper.prototype.GetParams = function()
  {
   var result = {};
   var loc = document.location.toString();
   if(loc.indexOf("?") > -1)
   {
   var l = loc.lastIndexOf("#") > -1 ? loc.lastIndexOf("#") : loc.length;
   var param_str = loc.substring(loc.indexOf("?")+1, l);
   var params = param_str.split("&");
   for(var x = 0; x < params.length; x++)
   {
   params[x] = params[x].split("=");
   result[params[x][0]] = params[x][1];
   }
   }
   return result;
  }
  RequestHelper.prototype.GetCookies = function()
  {
   var result = {};
   var cookie = document.cookie;
   if(cookie.length > 0)
   {
   var reg = /(^[a-zA-z0-9]+?|; [a-zA-z0-9]+?)=/g;
   var c = cookie.match(reg);
   if(c)
   {
   var n = 0;
   for(var x = 0; x < c.length; x++)
   {
   n = (x < c.length - 1) ? cookie.indexOf(c[x + 1].toString()) : cookie.length;
   var s = cookie.substring(cookie.indexOf(c[x].toString()),n);
   s = s.split("=");
   s[0] = s[0].replace(/^; / , "");
   result[s[0]] = s[1];
   }
   }
   }
   return result;
  }
  
  RequestHelper.prototype.GetAnchor = function()
  {
   var Anchor;
   var loc = document.location.toString()
   if(loc.lastIndexOf("#") > -1)
   {
   Anchor = loc.substring(loc.lastIndexOf("#")+1);
   }
   return Anchor;
  }
  
  function RequestHelper()
  {
   this.QueryString = this.GetParams();
   this.Cookies = this.GetCookies();
   this.Anchor = this.GetAnchor();
  }
  
因cookie的名称不支持某些特殊符号,所以只取了数字和字母。