1. 程式人生 > >JavaScript報錯: malformed URI sequence , URI不合法

JavaScript報錯: malformed URI sequence , URI不合法

一。報錯場景
後臺對中文引數編碼後,在JS裡面獲取到引數並解碼的時候報錯
後臺程式碼:

/m3/apps/v5/biz/html/bizInfo.html?date="+new Date().getTime()+"&menuId="+menuId+"&name="+URLEncoder.encode("我的第二個一級選單")&fromUrl=default.html")

前臺程式碼:

function _getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"
); //構造一個含有目標引數的正則表示式物件 var r = window.location.search.substr(1).match(reg); //匹配目標引數 if (r != null) return decodeURIComponent(r[2]); return null; //返回引數值 }

檢查後臺程式碼發現中文編碼的是這樣的:

java.net.URLEncoder.encode(client.name); 並提示該方法是過時的了.

於是將其編碼改成: java.net.URLEncoder.encode(“中文”, “UTF-8”); 便OK了.