ajax传值,中文会出现乱码。
(一)解决方法:加两重encodeURI
如下代码:
data:[{ userName:encodeURI(encodeURI('中文字段')) }]
const jsonData = []
// room/cust_name 属性值有中文
for (var i = 0; i < selectedData.length; i++) {
jsonData.push({
room: selectedData[i].roomname,
cust_name: selectedData[i].cust_name,
attach_path: selectedData[i].attach_path
})
}
const saveData = JSON.stringify(jsonData)
window.open('http://127.0.0.1:8080/BackGround/sub/BatchExport.do?json='+encodeURI(encodeURI(saveData)))
这是快速解决方案之一
(二)服务端/后台
String chData= ParamUtil.getString(request, "chData");
chData= java.net.URLDecoder.decode(chData,"UTF-8");
String json=request.getParameter("json"); //json对象
json=URLDecoder.decode(json,"UTF-8");