问题描述:
使用XMLHttpRequest POST 将Javascript获取的参数传给JSP处理响应
在本地测试没有问题,在服务器测试出现乱码
var XMLHttpReq;
if (window.XMLHttpRequest) { //Mozilla
XMLHttpReq = new XMLHttpRequest();
} else {
if (window.ActiveXObject) {
try {
XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
}
}
}
}
var postStr = "";
XMLHttpReq.onreadystatechange = function(){}; //指定响应的函数
XMLHttpReq.open("POST", "/do.jsp", true);
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq.send(postStr); //发送请求
问题解决:
请求默认的ISO-8859-1编码转为UTF-8
String head_left_str = new String(request.getParameter("head_left_str").getBytes("ISO-8859-1"),"UTF-8");
待研究问题:
试了几种编码,只有转成UTF-8才行,可是页面编码以及request.setCharacterEncoding都是GBK