定义和用法
decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
语法
decodeURI(URIstring)
实际应用的时候
比如我从a页面跳转到b页面,携带时间格式的参数
2021-05-24 14:31:00
到b页面时间参数多了一个%20的问题
就成了这个样子了
2021-05-24%2014:31:00
这样的编码格式
传给后端,往往会出现格式问题,传不了
于是要对其进行处理
这个时候就需要用到decodeURI() 函数了。
例子:
a.html
<!DOCTYPE HTML> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script> <style> </style> </head> <body> <button type="button" class="a">跳转到b界面</button> </body> <script> //底部分类复选框取消和选中触发事件 $(".a").click(function() { window.location.href = "b.html?username=super&workNumber=M202105241431&type=2&beginTime=2021-05-24 14:31:00&endTime=2021-05-24 14:31:00"; }); </script> </html>
b.html
对获取到的时间参数进行转化一下
<!DOCTYPE HTML> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script> <style> </style> </head> <body> </body> <script> //获取对方传过来的参数 function jqueryUrl(url) { debugger //将地址从"?"位置分割成两部分 var arr = url.split('?'); //取地址右边参数部分从"&"位置继续分割,成为单独参数列表 var params = arr[1].split('&'); //得到[a=1,b=2,c=3] //定义一个空对象 var obj = {}; for (var i = 0; i < params.length; i++) { var param = params[i].split('='); //得到[a,1]、[b,2]、[c,3] obj[param[0]] = param[1]; //为对象赋值 } return obj; } // url参数列表 var urlParams = jqueryUrl(location.href) var beginTime=decodeURI(urlParams.beginTime) var endTime=decodeURI(urlParams.endTime) console.log("开始时间",beginTime) console.log("结束时间",beginTime) </script> </html>