获取url中传递的参数,并将其转化为键值对的形式返回
function getSearchVal() {
try {
var urlData = (window.location.search).substring(1, window.location.search.length);
urlData = JSON.parse("{\"" + urlData.replace(/\=/g, "\"\:\"").replace(/\&/g, "\"\,\"") + "\"}");
return urlData;
} catch(e) {
return {};
}
};
演示:从页面1跳转到页面2,跳转格式:window.location.href = encodeURI('text02.html?userid=10086?name=100?sex=男'); 传递任意个参数,跳转到页面2,并从页面2中获取页面1中传递的name值
页面1
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>text01</title> 7 <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script> 8 </head> 9 10 <body> 11 <div class="gotext02">gotext02</div> 12 </body> 13 <script type="text/javascript"> 14 document.querySelector('.gotext02').onclick = function() { 15 window.location.href = encodeURI('text02.html?userid=10086?name=100?sex=男'); 16 } 17 </script> 18 19 </html>
页面2
1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>text02</title> 7 <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script> 8 </head> 9 10 <body> 11 <div class="text02"></div> 12 </body> 13 <script type="text/javascript"> 14 window.onload = function() { 15 var searchRes = getSearchVal(); 16 document.querySelector('.text02').innerHTML = "name:" + searchRes.name; 17 } 18 19 function getSearchVal() { //获取url中传递的参数 20 var searchRes = {}; 21 var search = decodeURI(window.location.search); 22 searchRes.search = search; 23 searchRes.searchVal = search.replace(/\?/g, "\",\""); 24 searchRes.searchVal = searchRes.searchVal.replace(/\=/g, "\"\:\""); 25 searchRes.searchVal = '{' + searchRes.searchVal.substring(2, searchRes.searchVal.length) + '\"}'; 26 searchRes.searchVal = JSON.parse(searchRes.searchVal); 27 return searchRes.searchVal; 28 } 29 </script> 30 31 </html>