首頁 > web前端 > js教程 > 主體

JS解決url傳值出現中文亂碼的另類方法_javascript技巧

WBOY
發布: 2016-05-16 17:37:47
原創
1046 人瀏覽過

 在開發web應用時,很多情況都需要進行前後台的數據交互,有時候我們可能需要把前台的中文數據通過URL的方式傳遞到後台,但此時有個令人頭疼的問題,因為Java中網路傳輸所使用的標準字元集是ISO-8859-1,所以在後台用request.getParameter("message");取得前台傳過來的中文時,得到的還是ISO-8859-1字元集,中文就會出現亂碼現象,好多人的解決方法是在前台傳遞中文之前進行decode,後台再decode一下進行轉換,這樣感覺很是麻煩,難道就沒其他的方式解決嗎?

       苦思冥想了一下:為什麼用表單的方式就可以傳遞中文,而URL的方式就不行了呢?非得用URL傳值的方式才能解決問題嗎?這裡我想到了動態表單,何不用它來解決呢,範例如下:

       假設有下列應用情境:KPI清單頁面中,每個KPI都有產生預警資料的功能,當點選清單中每個KPI產生資料的按鈕時,需要將KPI的id和name傳遞到後台。

       前端對應的js方法:

         以URL傳值的寫法:


使用此方法,且由於KPI名稱多為中文,在後台接收的數值肯定為亂碼。
若用動態產生表單的方式就可以解決:



複製程式碼


程式碼如下: 程式碼如下:
程式碼如下:





function createData(indexId,indexName){
               var urlStr =  "catalogAction.do?action=Createage"xData&Pcata=">>Pcatalog; om ();
                   f.method = 'post';
               document.body.appendChild(f);
               var temp=document.createElement('input');
             temp.value=indexName;
               temp.name='catalogName';            ‧了向後台傳遞中文出現亂碼的情況。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板