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了.

你可能感兴趣的:(JavaScript报错: malformed URI sequence , URI不合法)