- 浏览: 1557777 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
nich002:
原网站失效了。撸主简单粗暴的复制过来,可读性极差!差评!
Apache配置详解(最好的APACHE配置教程) -
107x:
不错,谢谢!
LINUX下查看文件夹下的文件个数! -
Hypereo:
好你妹,连个格式都没有!
Apache配置详解(最好的APACHE配置教程) -
resteater:
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器 ...
java socket例子 -
resteater:
代码排版感觉有点乱!收发信息代码可读性不强!请问第一次发服务器 ...
java socket例子
js 代码
- var PARAMTER_VALUE = null;
- function getParamter(paramName) {
- if(!PARAMTER_VALUE) { //第一次初始化
- PARAMTER_VALUE = new Array();
- var paramStr = location.search.substring(1);
- var paramArr = paramStr.split("&");
- var len = paramArr.length;
- var tempArr;
- for(var i = 0; i < len; i++) {
- tempArr = paramArr[i].split("=");
- PARAMTER_VALUE[tempArr[0]] = tempArr[1];
- }
- }
- var paramValue = PARAMTER_VALUE[paramName];
- if(paramValue) {
- return paramValue;
- }
- }
今天遇到这样一个需求,不知道还有没有其他更好的实现方法?
评论
8 楼
liudaoru
2007-11-30
niuyuewanzi 写道
/* * This function parses ampersand-separated name=value argument pairs from * the query string of the URL. It stores the name=value pairs in * properties of an object and returns that object. Use it like this: * * var args = getArgs( ); // Parse args from URL * var q = args.q || ""; // Use argument, if defined, or a default value * var n = args.n ? parseInt(args.n) : 10; */ function getArgs( ) { var args = new Object( ); var query = location.search.substring(1); // Get query string var pairs = query.split("&"); // Break at ampersand for(var i = 0; i < pairs.length; i++) { var pos = pairs[i].indexOf('='); // Look for "name=value" if (pos == -1) continue; // If not found, skip var argname = pairs[i].substring(0,pos); // Extract the name var value = pairs[i].substring(pos+1); // Extract the value value = decodeURIComponent(value); // Decode it, if needed args[argname] = value; // Store as a property } return args; // Return the object }
JAVASCRIPT GUIDE 上COPY的.
如果通用的话decodeURIComponent方法确实要加上。这个方法考虑的还是比较周全。
7 楼
liudaoru
2007-11-30
HexUzHoNG 写道
仔细一看,学到一个新方法(上班只敢偷偷的看,呵呵)
location.search.substring(1)
不应该每次都解析url的,这样效率太差。
那假如这种情况会不会有问题
比如翻页的情况下,第一次是&page=1,然后xmlhttp请求第二页&page=2
那我再想取这个page值?
---------------------
那个方法是写死的只能取location的,好像不适合这种情况下取值。
location.search.substring(1)
不应该每次都解析url的,这样效率太差。
那假如这种情况会不会有问题
比如翻页的情况下,第一次是&page=1,然后xmlhttp请求第二页&page=2
那我再想取这个page值?
---------------------
那个方法是写死的只能取location的,好像不适合这种情况下取值。
------------------------------
如果用Ajax请求的话就不能用loaction.search了,那样可以直接取值啊,Ajax的参数是你传过去的。
如果一般的分页的话,页面会重新加载,因此也不会有问题。
6 楼
niuyuewanzi
2007-11-29
/* * This function parses ampersand-separated name=value argument pairs from * the query string of the URL. It stores the name=value pairs in * properties of an object and returns that object. Use it like this: * * var args = getArgs( ); // Parse args from URL * var q = args.q || ""; // Use argument, if defined, or a default value * var n = args.n ? parseInt(args.n) : 10; */ function getArgs( ) { var args = new Object( ); var query = location.search.substring(1); // Get query string var pairs = query.split("&"); // Break at ampersand for(var i = 0; i < pairs.length; i++) { var pos = pairs[i].indexOf('='); // Look for "name=value" if (pos == -1) continue; // If not found, skip var argname = pairs[i].substring(0,pos); // Extract the name var value = pairs[i].substring(pos+1); // Extract the value value = decodeURIComponent(value); // Decode it, if needed args[argname] = value; // Store as a property } return args; // Return the object }
JAVASCRIPT GUIDE 上COPY的.
5 楼
HexUzHoNG
2007-11-29
仔细一看,学到一个新方法(上班只敢偷偷的看,呵呵)
location.search.substring(1)
不应该每次都解析url的,这样效率太差。
那假如这种情况会不会有问题
比如翻页的情况下,第一次是&page=1,然后xmlhttp请求第二页&page=2
那我再想取这个page值?
---------------------
那个方法是写死的只能取location的,好像不适合这种情况下取值。
location.search.substring(1)
不应该每次都解析url的,这样效率太差。
那假如这种情况会不会有问题
比如翻页的情况下,第一次是&page=1,然后xmlhttp请求第二页&page=2
那我再想取这个page值?
---------------------
那个方法是写死的只能取location的,好像不适合这种情况下取值。
4 楼
liudaoru
2007-11-29
HexUzHoNG 写道
function URLUtils() { } URLUtils.getParam = function($url, $param) { var reg = "/^.*[\\?|\\&]" + $param + "\\=([^\\&]*)/"; reg = eval(reg); var ret = $url.match(reg); if (ret != null) { return ret[1]; } else { return ""; } }
几次试图学习prototype,mootools,但js功力太弱了,感觉很难读懂.
还是习惯公司写JS的风格些。
现在自己写js,全部像apache commons包一样,写成类似的静态方法去掉用。简单明了,别人也好读、改些。
呵呵。
另外感觉也没必要用正则,因为split完全足够了。
3 楼
HexUzHoNG
2007-11-29
function URLUtils() { } URLUtils.getParam = function($url, $param) { var reg = "/^.*[\\?|\\&]" + $param + "\\=([^\\&]*)/"; reg = eval(reg); var ret = $url.match(reg); if (ret != null) { return ret[1]; } else { return ""; } }
几次试图学习prototype,mootools,但js功力太弱了,感觉很难读懂.
还是习惯公司写JS的风格些。
现在自己写js,全部像apache commons包一样,写成类似的静态方法去掉用。简单明了,别人也好读、改些。
呵呵。
2 楼
liudaoru
2007-11-29
考虑的比较周全,thx...
1 楼
afcn0
2007-11-28
见Prototype
toQueryParams: function(separator) { var match = this.strip().match(/([^?#]*)(#.*)?$/); if (!match) return { }; return match[1].split(separator || '&').inject({ }, function(hash, pair) { if ((pair = pair.split('='))[0]) { var key = decodeURIComponent(pair.shift()); var value = pair.length > 1 ? pair.join('=') : pair[0]; if (value != undefined) value = decodeURIComponent(value); if (key in hash) { if (!Object.isArray(hash[key])) hash[key] = [hash[key]]; hash[key].push(value); } else hash[key] = value; } return hash; }); },
发表评论
-
几个不错的ff下调试插件
2009-12-11 11:14 1819记录一下经常使用的ff插件,其中firebug、switchh ... -
20 种提升网页速度的技巧
2009-04-15 20:19 1200From:http://www.ibm.com/develop ... -
25 个在 Web 中嵌入图表的免费资源
2009-04-14 21:27 1619From: http://www.cnbeta.com/art ... -
15个网站用户体验优化禁忌
2009-04-08 22:57 1130From:http://www.blueidea.com/de ... -
让IE8兼容IE7
2009-03-27 15:10 3943今天在搜狐首页发现:<meta http-equiv ... -
FF下分析页面加载的工具
2009-03-25 16:03 2423今天同事推荐YSlow作为 ... -
IE6下页面显示空白的问题
2009-03-24 17:01 5268今天又碰到了一个页面在IE6下加载完后一片空白的问题,而且页面 ... -
支持IE6、IE7的关闭页面的函数
2009-03-17 15:40 1655function closeWin() { var isI ... -
很弱很无奈的一段代码(打开的页面更新父窗口的链接)
2009-03-12 11:51 991if(parent.window.opener) { pa ... -
js小脚本
2009-02-26 10:13 1498清除元素: var clearNode = functio ... -
处理一次性事件的模式
2009-02-12 20:20 1197有的时候我们需要给一个标签增加一次性的事件,比如先在输入框中增 ... -
Linux:rsync服务器的快速搭建和使用
2008-12-30 10:15 1280From: http://tech.ddvip.com/200 ... -
js导致的页面空白问题
2008-12-29 13:45 3073今天遇到一个很奇怪的问题,系统的一个页面在一台机器上无法完全展 ... -
IE6下history.back无效的问题
2008-12-26 23:56 3748解决IE6中history.back()无法返回的问题:< ... -
浏览器兼容比较好的设置min-width的方式
2008-12-12 18:45 2501<!DOCTYPE HTML PUBLIC " ... -
CSS代码分享:浏览器CSS Reset方法十例zz
2008-12-07 18:06 1114From: http://www.52css.com/arti ... -
在Javascript中,什么是闭包(Closure)
2008-12-02 11:11 1010from: http://javascript.chinaht ... -
Unicode、GB2312、GBK和GB18030中的汉字[转]
2008-11-25 15:22 3804From: http://blog.csdn.net/fmdd ... -
空字符串的split
2008-11-21 19:16 1528本来以为是零,但是在java和js里试了以后发现居然都是1,很 ... -
docType 相关的loose.dtd导致的无法获取scrollTop的解决
2008-11-19 11:32 1630function iecompattest(){ retu ...
相关推荐
//不管在什么情况下·有没有中文的接收我们必须设置他的request的setCharacterEncoding方法 ReplyDao replyDao =new ReplyDaoImpl(); int uId=Integer.parseInt(request.getParameter("uId")); int boardId=...
pagem.setCpage(Integer.valueOf(request.getParameter("cpage"))); }else{ pagem.setCpage(1); } ${PageModel对象}" pageStep="5" javaScript="" styleClass="" viewURL=""/> 祝您使用愉快,谢谢! 作者...
多文件上传例子,彻底解决中文乱码问题了。...4、适当的时候,在jsp里用java.net.URLDecoder.decode(request.getParameter("str"),"UTF-8")。 5、最容易忽略的是使用"":value="<%=paraFiles%>",一定要有引号。
JSP用中收集数据:javascript 实现输入多行动态输入 在网上找了一下,只有一篇此类文章,还是PHP的,害得我要特意去看一下PHP,感觉很不好,是一种弱类型的语言,可以不声明就使用,因此,还要在每个变量前加$.不知道那些...
代码如下: <%... charset=utf-8″ pageEncoding=”utf-8″%> <% String path = request.getContextPath(); String basePath = request.getScheme() + ... String groupId = request.getParameter(“groupId
a.setTeamname(request.getParameter("teamname")); a.setTeamer(request.getParameter("teamer")); a.setMingti(request.getParameter("mingti")); try { op.insert(a); }catch (Exception e){} %> ...
测试环境为 jdk1.2.2 jswdk-1.0 winnt4.0中文版。...jsp中对应asp中的request.form()和request.querystring()的解决方法。 jsp中取得参数没有form和queryString之分,都是通过request.getParameter(XXXX
String user=request.getParameter("user1"); String pwd=request.getParameter("pwd1"); login.jsp input 取2参数何用ajax 传给logincheck.jsp $.ajax({ type : "POST", url : baseUrl+"m/module/...
Web 服务器对于 request 请求参数通常会以 String 类型来发送,在得到时使用的 Java 语言脚本就应该是 request.getParameter(“XXX”) ,这样的话,对于实际应用还必须进行强制类型转换。而 EL 就将用户从这种类型...
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String word = request.getParameter("word"); request.setAttribute("word", word); ...
Web服务器对于request请求参数通常会以String类型来发送,在得到时使用的Java语言脚本就应该是request.getParameter(“XXX”),这样的话,对于实际应用还必须进行强制类型转换。而EL就将用户从这种类型转换的繁琐...
(function(){ ...<script type="text/javascript" src="客户端模拟服务器端的Request发送和获得参数.js"> document.write(Request.getParameter("a")) document.write(" "+document.URL) </script>
String name=new String(request.getParameter("name").getBytes("ISO8859_1"),"GBK"); //将中文字符转换成标准字符的写法 String password=new String(request.getParameter("password").getBytes("ISO8859_1"),...
本文就mysql数据表查询为例,在request.getParameter()取参数的基础和canvas画布布置之间的数据库交流的方法上, 探索了一个可行的数据库可视化技术的方法。 text:””这是qrcode.js的一个语句 request....
request.getParameter(“参数名”),但是这样的话,对于实际应用还必须进行强制类型转 换。而 EL 就将用户从这种类型转换的繁琐工作脱离出来,允许用户直接使用 EL 表达 式取得的值,而不用关心它是什么类型
当一个url过来时,如:http://localhost:8080/pro/demo/hello.jsp?name=john,在hello.jsp页面,我们可以这样得到name的值: 代码如下: <... String name = request.getParameter(“name”);//用reques
stmt.executeUpdate("update scott.jobnews set click=click+1 where id='"+request.getParameter("id")+"'"); String sqlname; sqlname="select * from scott.jobnews where id= '"+request.getParameter("id")+...
<!– File name:calendar.jsp –> ... month=request.getParameter(month); year =request.getParameter(year); %> <html> <head> <meta http-equiv=Content-Type content=text/ht
String password=request.getParameter("userpassword"); String s=request.getParameter("selectlogrole"); String str="select username from userinfo where username='"+name+"'"; ResultSet rs=query....
String parentID = request.getParameter("parent");//获得id的值 if (parentID!=null&&!parentID.equals(""))//如果不为null和空 { Category category = new Category(Integer.parseInt(parentID));//创建...