在開發web應用時,很多情況都需要進行前後台的數據交互,有時候我們可能需要把前台的中文數據通過URL的方式傳遞到後台,但此時有個令人頭疼的問題,因為Java中網路傳輸所使用的標準字元集是ISO-8859-1,所以在後台用request.getParameter("message");取得前台傳過來的中文時,得到的還是ISO-8859-1字元集,中文就會出現亂碼現象,好多人的解決方法是在前台傳遞中文之前進行decode,後台再decode一下進行轉換,這樣感覺很是麻煩,難道就沒其他的方式解決嗎?
苦思冥想了一下:為什麼用表單的方式就可以傳遞中文,而URL的方式就不行了呢?非得用URL傳值的方式才能解決問題嗎?這裡我想到了動態表單,何不用它來解決呢,範例如下:
假設有下列應用情境:KPI清單頁面中,每個KPI都有產生預警資料的功能,當點選清單中每個KPI產生資料的按鈕時,需要將KPI的id和name傳遞到後台。
前端對應的js方法:
以URL傳值的寫法: