例如url为 http://XXxXXX?name=张三, 要在页面中显示,直接用{param.name}会乱码
function getRequest() {
var url = window.location.search; //获取url中"?"符后的字串var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
//就是这句的问题
theRequest[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]);
//之前用了unescape()
//才会出现乱码
}
}
return theRequest.name
}
在后端传参时要encode中文:
String basePath = request.getScheme()+"://"+request.getServerName()+request.getContextPath();
String name = order.getUserName();
try{
name = java.net.URLEncoder.encode(name,"UTF-8"); //必须加上,不然会丢失
}catch(Exception ex){
ex.printStackTrace();
}
return "redirect:" + basePath+"/view/beauty/paySuccess.jsp?orderNo="+order.getOrderNo()+"&name="+name+"&mobile="+order.getPhone();
}