参考:https://blog.csdn.net/blueheart20/article/details/26370023
问题:
简化版:
post("/baoquan/rescueProgress.do", param);
完整版:
$.ajax({
url: 'rescueProgress.do',
data: param,
dataType: 'json',
type: 'post',
success: function (data) {
hideLoad();
var code = data.code;
if (code == "0") {
mui.alert(data.msg);
}
else if (code == "1") {
post("/baoquan/rescueProgressShow.do", param);
}
},
error: function () {
// do nothing
hideLoad();
}
});
则存在问题,在后台输出的信息为乱码
1. 设置了 contentType: "text/plain; charset=utf-8", 问题依然存在(简化版无法实行)
2. 重新检查了ajax代码所在的jsp页面,皆为使用utf-8,但是问题依然存在
3. 在后台的java代码中,强制使用utf-8、gbk、gb2312的编码转换, 问题依然存在
经过分析,判断其可能与浏览器或者JQuery中的内容传输有关,目前也无法准确的确定。
解决的办法:
前段:encodeURI($(dom).val(), "UTF-8"); 使用encodeURI进行编码
后端Java代码:
URLDecoder.decode(inputStr,"UTF-8"): 后端代码针对前段传递过来的字符串,进行解码。
总结:
简化版本为了后端方便跳转,如果使用完成版本需要再次添加跳转按钮。使用了bladestone版主的方法解决了此问题。后续有时间研究一下。