本人刚学习javaweb开发,在学习ajax时遇到一个问题,在此记录。
问题如下:
1.ajax代码:
var url = "url地址?param=中国";
httpRequest.open("GET", url, true);
httpRequest.send(null);
2.后台代码:String param = new String(request.getParameter("param").getBytes("iso-8859-1"),"utf-8");
结果显示:火狐能显示成中文,IE不行。
个人实践得出解决方法:
1.使用post方法,ajax代码:
var param= "param=中国";
httpRequest.open("POST", url地址, true);
httpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//POST请求发送前,需要设置正确的请求头,必须添加在send之前,表示表单数据会采用“名字=值”的形式
httpRequest.send(param);
2.后台代码:
request.setCharacterEncoding("utf-8");
String param = request.getParameter("param");
结果显示:火狐和IE都能显示中文。