有时客户端需要跟服务器进行交互,比如AJAX或根据页面传值进行判断处理等时,我们就要想办法获取到URL传过来的值了。那该怎么获取呢?下面有一个不错的办法,“不错”是因为它可行,网上我看到两种办法,选了一个较短的,还可以的,就拿过来用了,至于有没有更好的。哥不管,能用就行啦,如下:
1 function request(name){ 2 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 3 var r = window.location.search.substr(1).match(reg); 4 if(r!=null) return unescape(r[2]); return null; 5 }
使用办法很简单,假设我在某个页面中定义了一个loadSite()的方法,根据传的SITE进行下拉框的选中,如下:
1 function loadSite(){ 2 var site = request('SITE'); 3 $("#SelectFactory").find("option").removeAttr("selected"); 4 $("#SelectFactory").find("option[value='"+ site +"']").attr("selected","selected"); 5 $("#backUrl").attr("href","index.aspx?SITE="+ site); 6 }