A.html 代碼如下: 點擊按鈕調整到b.html頁面上,然后取得傳遞過來的json
<script>
$.Alarmctrl = function (ctrldata) {
console.log(ctrldata);
var url = "b.html?ctrldata="https://bbs.csdn.net/topics/+encodeURI(ctrldata);
location.href =url;
}
</script>
<button class='btn btn-danger btn-xs' onclick='$.Alarmctrl({"ServerPort1":"10202","ServerPort2":"10203","CtrlType":"3","ServerIP":"192.168.1.18","CtrlID":"105"})' >遠程</button>
b.html代碼如下:
<script>
//接收json陣列
var param = decodeURI(location.search);
if (param != null && param != "") {
param = param.substring(param.indexOf("=") + 1, param.length);
alert(param );
alert(JSON.stringify(param ));
}
</script>
求助,b.html如何獲取json資料,謝謝! 上面代碼沒有報錯,但是結果不對。
uj5u.com熱心網友回復:
大佬游戲人間來了?uj5u.com熱心網友回復:
不如 A 和B 都引入相同的一個JS 然后再操作?uj5u.com熱心網友回復:
你想把一個物件轉給b.html的ctrldata引數當值。但你傳的是物件呀。encodeURI方法得不到你要的結果。你要么先用JSON.stringifyl轉成字串。獲取網址引數后再JSON.parse轉回來
要么就直接不要附加在?ctrldata=https://bbs.csdn.net/topics/后面當值。直接:
Object.keys(ctrldata).map(key => key + '=' + ctrldata[key]).join('&')。生成
b.html?ServerPort1=10202&ServerPort2=10203&CtrlType=3&ServerIP=192.168.1.18&CtrlID=105
這樣的常規網址就好了
然后你在b.html中就去讀取ServerPort1,ServerPort2
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/282005.html
標籤:JavaScript
