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");