前言
由於最近寫項目用到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
