JS获取request参数 和改变request参数

来源:互联网 发布:成捷迅线路软件 编辑:程序博客网 时间:2024/05/30 04:56

来源地址

http://www.jb51.net/article/32627.htm

http://www.oschina.net/code/snippet_1398304_44646


给request赋值

function changeURLPar(destiny, par, par_value) { var pattern = par+'=([^&]*)'; var replaceText = par+'='+par_value; if (destiny.match(pattern)) { var tmp = '/'+par+'=[^&]*/g'; tmp = destiny.replace(eval(tmp), replaceText); return (tmp); } else { if (destiny.match('[\?]')) { return destiny+'&'+ replaceText; } else { return destiny+'?'+replaceText; } } return destiny+'\n'+par+'\n'+par_value; } 

使用

destiny是目标字符串,比如是http://www.huistd.com/?id=3&ttt=3
par是参数名,par_value是参数要更改的值,调用结果如下:
changeURLPar(test, 'id', 99); // http://www.huistd.com/?id=99&ttt=3
changeURLPar(test, 'haha', 33); // http://www.huistd.com/?id=99&ttt=3&haha=33 



取值

方法一:正则分析法
 
  
 
function getQueryString(name) {
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)","i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);returnnull;
}
 
这样调用:
 
alert(GetQueryString("参数名1"));
 
alert(GetQueryString("参数名2"));
 
alert(GetQueryString("参数名3"));
 
方法二:
<span style="font-size: 16px;"><Script language="javascript">
function GetRequest() {
   var url = location.search;//获取url中"?"符后的字串
   var theRequest =newObject();
   if(url.indexOf("?") != -1) {
      var str = url.substr(1);
      strs = str.split("&");
      for(var i =0; i < strs.length; i ++) {
         theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
      }
   }
   returntheRequest;
}
</Script></span>
 
这样调用:
复制代码
 
<Script language="javascript">
var Request = new Object();
Request = GetRequest();
var 参数1,参数2,参数3,参数N;
参数1= Request['参数1'];
参数2= Request['参数2'];
参数3= Request['参数3'];
参数N = Request['参数N'];
</Script>

0 0
原创粉丝点击