用在JavaScript的RequestHelper

2016-02-19 16:44 28 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐用在JavaScript的RequestHelper,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

  碰到一个小小的需求,就是要根据传入的锚(也就是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-31RequestHelper.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();}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  经初步测试,没发现问题,但不保证没有任何bug,有用得上的,请随便复制粘贴,有更好的方法的,请各位多多指点,我只是小菜一个,大家就砖下留情了.

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

  另,因cookie的名称不支持某些特殊符号,所以这里只取了数字和字母,大家注意了,如果有其它的办法,麻烦指点指点。呵呵!

来源:https://www.tulaoshi.com/n/20160219/1612958.html

延伸阅读
标签: Web开发
看了一个月的文档和资料以后,终于让我参与到项目中来了,哈哈,痛快!虽然只是让我解决一个小问题,不过有活干就是好。在写代码的过程中遇到了一个小问题,就是JavaScript的浏览器兼容问题,当我用到 setAttribute 设置某个元素的 id属性时,在 FireFox 里面居然不起作用,但是在 IE 8中好使,于是我就问了一下同事,他告诉我说用 setAttri...
    从今天起,我将陆续将 ppk on JavaScript 的读书心得发布到这个blog上。ppk是我所景仰的一位web开发者,原因无它,只是因为作为一个JavaScript的开发者来说,他涉及的领域包括web标准,可用性,无障碍等,正是其他开发者所不关注或者故意忽略的。并且,他写了很多案例测试不同的浏览器,总结出JavaScrip...
标签: Web开发
javascript的作用域是词法作用域(lexical scope or static scope),也就是说作用域链在定义的时候就确定了。也提到eval、with会扰乱作用域链(dynamic scope)。 eval IE下:运行eval()会受当前作用域限制,运行execScript()则无视当前作用域,直接在全局作用域下执行。 Firefox下:eval()和window.eval()效果不一样,这...
标签: Web开发
作者:F. Permadi 译者:Sheneyan(子乌) 英文原文: INTRODUCTION TO JavaScript Functions 中文译文(包括示例):javascript的函数 子乌注:一篇相当不错的function入门文章,个人感觉相当经典。 词语翻译列表: function:函数(Function未翻译) declare:定义 assign:指派,分配 functionbody:函数体(就是函数的内容) object:对象 prop...
标签: Web开发
使用 Cookies 我们已经知道,在 document 对象中有一个 cookie 属性。但是 Cookie 又是什么?“某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为 Cookie。”—— MSIE 帮助。一般来说,Cookies 是 CGI 或类似,比 HTML 高级...

经验教程

1000

收藏

8
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部