js通过URL向后端传递中文数据出现乱码

js中的代码:

url =  "/user/goods/exportExcel"+ "?loginName=" + loginName ;
window.open(url);

后端Java代码:

if(StringUtils.isNotEmpty(request.getParameter("loginName"))){
condtions.put("loginName", request.getParameter("loginName").trim());
}

结果:上面的得到值为乱码。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

解决方式:

在js中修改为:

url =  "/user/goods/exportExcel"+ "?loginName=" + loginName ;

url=encodeURI(encodeURI(url));

window.open(url);

在java代码修改为:

if(StringUtils.isNotEmpty(request.getParameter("loginName"))){

try {
condtions.put("loginName", URLDecoder.decode(request.getParameter("loginName").trim(),"utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}

}

结果正常输出



你可能感兴趣的:(Java,jsp+JQuery)