遇到了變態(tài)很不常見(jiàn)的參數(shù)亂碼的問(wèn)題,點(diǎn)擊的時(shí)候傳遞帶參數(shù)的網(wǎng)頁(yè)地址,由于我傳遞的參數(shù)為漢字,在后臺(tái)獲取為亂碼
遇到了變態(tài)很不常見(jiàn)的參數(shù)亂碼的問(wèn)題
首先看下頁(yè)面
如圖,月度指標(biāo)下面也有同樣的三個(gè)radio。
三個(gè)radio 下面是一個(gè)iframe,實(shí)現(xiàn)效果是,點(diǎn)擊不同的radio顯示不同的頁(yè)面,
點(diǎn)擊的時(shí)候傳遞帶參數(shù)的網(wǎng)頁(yè)地址。
(1)問(wèn)題出來(lái)了,當(dāng)“日度指標(biāo)”和“月度指標(biāo)”切換的時(shí)候,由于我傳遞的參數(shù)為漢字,在后臺(tái)獲取為亂碼,
于是進(jìn)行給參數(shù)進(jìn)行encode編碼,后臺(tái)UrlDecode解碼,郁悶的發(fā)現(xiàn)還是亂碼。
然后仔細(xì)對(duì)照頁(yè)面的編碼發(fā)現(xiàn),要在iframe打開(kāi)的頁(yè)面沒(méi)有編碼。
于是在頁(yè)面加上下面一句話
代碼如下:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
現(xiàn)在似乎好了,切換“日度指標(biāo)”和“月度指標(biāo)”網(wǎng)頁(yè)都能正常顯示,參數(shù)也傳遞過(guò)去了。
(2)可是變態(tài)的問(wèn)題出現(xiàn)了,當(dāng)我切換radio 的時(shí)候,報(bào)錯(cuò)了,參數(shù)又變成了亂碼。
這次實(shí)在不知道哪里錯(cuò)了,“日度指標(biāo)”、“月度指標(biāo)”和radio點(diǎn)擊切換頁(yè)面的JS方法用的同一個(gè)。
郁悶中,自己亂點(diǎn),發(fā)現(xiàn)如下:
當(dāng)點(diǎn)擊“煤層氣”時(shí)頁(yè)面正常,然后在點(diǎn)擊“采油”參數(shù)錯(cuò)誤了,我在采油已經(jīng)為選中的情況下再點(diǎn)“采油”,頁(yè)面竟然正常顯示了
想象不應(yīng)該這樣啊
然后比對(duì)“煤層氣”和“采油”,“采油”模塊我已經(jīng)掛上正式頁(yè)面,“煤層氣”模塊由于還沒(méi)有做只是隨意掛上的百度頁(yè)面。由于在問(wèn)題(1)編碼的問(wèn)題,我首先想到的是編碼問(wèn)題,查看百度編碼如下,
代碼如下:
<metahttp-equiv="content-type"content="text/html;charset=utf-8">
編碼格式不一樣。所以我把“煤層氣”也掛上了“采油”的頁(yè)面,去掉百度。
額,頁(yè)面正常運(yùn)行了,不報(bào)參數(shù)亂碼了。
分析下原因:貌似傳遞參數(shù)時(shí),獲取的是當(dāng)前iframe展示頁(yè)面編碼,而和要打開(kāi)的頁(yè)面編碼沒(méi)有關(guān)系。
但是,真的不應(yīng)該這樣啊,那是一個(gè)iframe,我在iframe的父頁(yè)面給iframe賦值url、傳遞參數(shù), 管 iframe現(xiàn)在的頁(yè)面鳥事啊?