JQuery ajax中文乱码(java)js 2009-04-01 18:02:26 阅读1837 评论0 字号:大中小 订阅 .
test.html
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
js片段:
var id = jQuery(this).attr("id");
var name = jQuery("#name").val();//可能是中文
var email = jQuery("#email").val();
var pswd = jQuery("#pswd").val();
$.post("/Test/test",{id:id,name:name,email:email,pswd:pswd},callback,"text");
/test是servlet
TestServlet.java
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/xml;charset=utf-8");//返回字符串中有中文乱码可以解决
String id = req.getParameter("id");
String name = req.getParameter("name");
String email = req.getParameter("email");
String pswd = req.getParameter("pswd");
id = new String(id.getBytes("iso8859-1"), "utf-8");
name = new String(name.getBytes("iso8859-1"), "utf-8");//编码转换
email = new String(email.getBytes("iso8859-1"), "utf-8");
pswd = new String(pswd.getBytes("iso8859-1"), "utf-8");
System.out.println(id);
System.out.println(name);//输出正常
System.out.println(email);
System.out.println(pswd);
String back = "I can get them, you don't trust me? look:<br/>name=\"" + name
+ "\"<br/>email=\"" + email + "\"<br/>pswd=\"" + pswd + "\"";
System.out.println(back);
PrintWriter writer = resp.getWriter();
writer.println(back);
writer.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doGet(req, resp);
}
ajax回调函数:
function callback(data){
//alert(data);
jQuery("#link").children("p").remove();
jQuery("#link").append("<p>"+data+"</p>");
}