前言
由於最近寫項目用到layui中的table.render,好像是直接由當前html直接與后台controller取數據,由一方(后台)遍歷列表給html,而如果當前html需要傳值給這個后台controller,然后后台獲取值在遍歷列表給另一個html就不好使了,最后想了想,就試一下由一個html1傳值給一個html2,然后再讓html2獲取值,然后html2再與后台交互。期間還涉及到亂碼問題,也一並解決。
例子
html1 編碼是覆蓋整個url
table.on('tool(test)',function (obj) { var data = obj.data; if(obj.event === 'look') { //打開並傳值給另一個html頁面(需要對url編碼) window.location.href = encodeURI("${rc.contextPath}/proj/bdBidEntBaseInfoProject.html?entId=" + data.entId+"&name="+data.name); } });
html2 theRequest就是
//從另一個html頁面傳來的值,在這里獲取 var url = location.search; //獲取url中"?"符后的字串 ('?endId=.....') var theRequest = new Object(); if ( url.indexOf( "?" ) != -1 ) { var str = url.substr( 1 ); //substr()方法返回從參數值開始到結束的字符串; var strs = str.split( "&" ); for ( var i = 0; i < strs.length; i++ ) { theRequest[ strs[ i ].split( "=" )[ 0 ] ] = ( strs[ i ].split( "=" )[ 1 ] ); } } //給企業一覽表賦值(這里要解碼) $("#qiName").text(decodeURI(theRequest.name));
參考文章:https://blog.csdn.net/qq_29072049/article/details/80221694