六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 49|回复: 0

通过javascript获取get请求的参数

[复制链接]

升级  32%

4

主题

4

主题

4

主题

童生

Rank: 1

积分
16
 楼主| 发表于 2013-1-29 08:41:42 | 显示全部楼层 |阅读模式
整个类的代码如下:
/** * 获取get请求中的参数 *  * @author MaLong * @param loc *            (可选String or Object) String 类型须为URL, Object则为Location的对象 *            默认为window.location */var Request = function(loc) {var paramsStr;var hashSearchString;if (!loc || typeof loc == "object") {loc = loc || window.location;if (/#.+\?/.test(paramsStr)) {paramsStr = loc.hash;} elseparamsStr = loc.search;} else if (typeof loc == "string") {if (/.*\?.+[#.+]?/.test(loc))paramsStr = loc.replace(/.*\?/, "");elseparamsStr = loc.replace(/.*#/, "#");}if (!/#.+\?/.test(paramsStr)) {this.pageSelector = paramsStr.replace(/^\?.*#$/, "#");hashSearchString = paramsStr.replace(/\?|(#.+)/, "");} else {this.pageSelector = paramsStr.replace(/\?.*$/, "");hashSearchString = paramsStr.replace(/#.+\?/, "");}var params = hashSearchString.split("&");var reg = /^(\w+)=(.*)$/;this.paramsMap = {};for ( var i = 0, length = params.length; i < length; i++) {var _p = reg.exec(params[i]);if (_p)this.paramsMap[_p[1]] = _p[2];}}Request.prototype = {/** * 根据参数名获取参数值 *  * @param name * @return 参数值 */getParam : function(name) {return this.paramsMap[name];},/** * 设置参数名和参数值 *  * @param name *            参数名 * @param value *            参数值 */setParam : function(name, value) {this.paramsMap[name] = value;},/** * 获取所有参数 *  * @returns 封装所有参数名和参数值的json */getParams : function() {return this.paramsMap;},/** *  */paramSize : function() {},/** *  */getHashParam : function() {},/** * pageSelector 为通过hash值改变页面而预留,例:xxx.com#pageSelector */getPageSelector : function() {return this.pageSelector;}}
调用:
      if(!/.*\?.+/.test(dataUrl))      dataUrl=window.location;   //dataUrl 可选   var request = new Request(dataUrl);   var userName=request.getParam("userName");
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表