当前位置:编程学习 > JS >>

JSP 中js传递和解析URL参数以及中文转码和解码

1.传递参数:
[html] 
var pmt = 'sensor='+ encodeURI(encodeURI(sensor))+'&device='+encodeURI(encodeURI(device))+'&instrument=';  
            pmt += encodeURI(encodeURI(instrument))+'&n='+n+'&addDate='+addDate;  
              
            top.location.href = 'jsp/print/diagnosticAnaPrint.jsp?'+pmt;  
 
2.接收和解析参数
[html] 
//获取URL参数  
    function GetRequest() {  
       var url = location.search; //获取url中"?"符后的字串  
       var theRequest = new Object();  
       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]);  
          }  
       }  
       return theRequest;  
    }  
[html] view plaincopy
 var sensor;//测点  
 sensor = decodeURI(decodeURI(Request['sensor']));  
3.参考内容:
方法一:正则分析法
[html] 
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]); return null;  
}  
  
这样调用:  
  
alert(GetQueryString("参数名1"));  
  
alert(GetQueryString("参数名2"));  
  
alert(GetQueryString("参数名3"));  
 
方法二:
[html]  
<span style="font-size: 16px;"><Script language="javascript">  
function GetRequest() {  
   var url = location.search; //获取url中"?"符后的字串  
   var theRequest = new Object();  
   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]);  
      }  
   }  
   return theRequest;  
}  
</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>  
 
补充:Web开发 , Jsp ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,