在Web开发中,我们常常会涉及到需要获取Get方式URL中的参数键值的情况,这里简单介绍三种方法:

第一种:常用的做法有使用JavaScript获取location.href后用正则表达式匹配获取此URL的所有键值对;也可以通过以“&”为分隔符进行分隔后存储在对象中,然后获取对象中的键值对,如下例子:

queryString.js

 var queryString= {
data:{},
initial:function(){
var paramGroup;
var tempGroup;
var queryStr = new String(window.location.search);
queryStr = queryStr.substr(1,queryStr.length);//remove "?"
paramGroup = queryStr.split("&");
for(var i=0; i<paramGroup.length; i++){
tempGroup = paramGroup[i].split("=");
this.data[tempGroup[0]] = tempGroup[1];
}
},
getValue:function(key){
return this.data[key];
}
}

queryString.html

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>获取Get方式URL中的参数键值</title>
<script type="text/javascript" src="queryString.js">
</script>
</head>
<body>
<div id="divParameter">
</div>
<input type="button" id="btnNew" value="打开新窗口" onclick="window.open('queryString.html?id=1001&name='+encodeURI('博客园KenmuHuang'));" />
</body>
<script type="text/javascript">
window.onload=function(){
queryString.initial();
document.getElementById("divParameter").innerHTML = "id:" + queryString.getValue("id") +
"\r\nname:" + decodeURI(queryString.getValue("name"));
};
</script>
</html>

第二种:这里比如有个Key参数键,需要获取它对应的值;这时可以使用.NET里的Request.Form["Key"](针对Post)或Request.QueryString["Key"](针对Get),也可以用Request["Key"](Post和Get都可以)

其实.NET还有一种做法,就是获取到URL地址后转化为NameValueCollection对象示例,如下例子:

 using System.Web;
using System.Collections.Specialized; NameValueCollection collection = HttpUtility.ParseQueryString("?ProjectID=-1&ProID=-1&CurId=503&IsTender=Y&PlanID=-1&hasAccess=True&mode=v");
string hasAccess = collection.Get("hasAccess"); //“True”

最新文章

  1. redux-undo
  2. [AHOI 2009] 维护序列(线段树模板题)
  3. HDU 1495 非常可乐
  4. Python第三方库(模块)&quot;scikit learn&quot;以及其他库的安装
  5. 在自己电脑上建立SVNserver
  6. Unity3d 镜面反射 vertex and frag Shader源代码
  7. vultr vps发布多用户管理功能
  8. ACCESS数据库增强器需求及介绍
  9. python爬虫(四)_urllib2库的基本使用
  10. python安装和环境变量的配置
  11. java中抽象类的定义和使用
  12. PS2键盘扫描码:通码与断码
  13. async/await处理异步
  14. iOS项目之苹果审核被拒
  15. Windows 操作系统与内核版本号
  16. Linux下的Nginx的配置+Tomcat启动
  17. java8中ConcurrentHashMap
  18. Provisional headers are shown
  19. wap站、手机APP 接入支付宝、微信、银联支付。
  20. 折腾一天,获取下列多选框的所有选中值,原生js可直接通过obj.val()来获取,可jq不行,要通过循环取值来获取;

热门文章

  1. nginx servername配置域名网站可以正常登录,servername配置IP+Port却无法正常登录
  2. 【Linux/CentOS】Boolean ftp_home_dir is not defined
  3. Android(我还是个菜鸟)——UI-开源框架ImageLoader的完美例子
  4. python基础归结
  5. 微软开放了.NET 4.5.1的源代码
  6. ES6之函数参数
  7. 微信小程序——template的使用方法
  8. 前端最全的 API 集锦
  9. Ubuntu16.04安装Mininet
  10. Oracle 数据泵详解