AJAX出现乱码了~

a153069252 2012-05-10 01:58:04
1、jsp
<script type="text/javascript">
var xmlHttp;
function creatXMLHttp() {
var username =document.getElementById("Username").value;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else {
xmlHttp = new ActiveXobject("Microsoft.XMLHTTP");
}
}
function UpdateUser(username) {
creatXMLHttp();
xmlHttp.open("POST", "../UpdateSelectAdmin.asp?Username=" + username);
xmlhttp.setRequestHeader( "Content-Type", "text/html;charset=GBK" );
xmlHttp.onreadystatechange = UpdateUserCallback;
xmlHttp.send(null);
}
function UpdateUserCallback() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var text = xmlHttp.responseText;
document.getElementById("txtHint").innerHTML = text;
}
}
}
</script>

out.print("<input type='hidden' name='Username' value="+ login.getUsername() + ">");

2、 response.setContentType("text/html");
PrintWriter out = response.getWriter();
String username=request.getParameter("Username");
out.print(username);
找了很多案例都无法解决。求帮忙啊~
...全文
74 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
a153069252 2012-05-14
  • 打赏
  • 举报
回复
呵呵。。。编码不统一。。。解决了
hugo000002020 2012-05-11
  • 打赏
  • 举报
回复

function onSendInfo(reqId){
if(confirm("是否确认发送站内短信?")){
var friendList = document.getElementById("friendList");
var msgContent = document.getElementById("textarea2");
if(onValidate(friendList,msgContent)){
return;
}
var usernames=onSelect(friendList);
var params="?reqId="+reqId
+"&msgContent="+encodeURI($("#textarea2").val())
+"&sendMember="+encodeURI(usernames)
+"&msgTitle="+encodeURI($("#textarea").val());
$.ajax({
type: "post",
url: "motorcade_alliance_send_message.jspx"+params,
dataType: "json",/*这句可用可不用,没有影响*/
contentType: "application/json; charset=utf-8",
success: function (data) {
if(data.status==0){
alert('发送站内短信成功!');
}else if(data.status==1){
alert(data.errors);
}
},
beforeSend: function(XMLHttpRequest){
XMLHttpRequest.setRequestHeader("RequestType", "ajax");
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
}
}


别的关于后台java层的自己设置好编码,重点就是ajax这里加上这句
beforeSend: function(XMLHttpRequest){
XMLHttpRequest.setRequestHeader("RequestType", "ajax");
},
我这边原来也是做发送站内短信有乱码,加了这句肯定没问题,我也是找了很久还找到的解决方法.
a18210040489 2012-05-11
  • 打赏
  • 举报
回复
ajax里
username 是中文吗?
username=encodeURI(username);
username=encodeURI(username); //最重要的部分,两次调用encodeURI ,就是编码两次

servlet
String name=request.getParameter("username");
name=URLDecoder.decode(name,"utf8"); //post 传递的时候,一定是用utf8编码的,url 自己可以设定
response.setContentType("text/html;charset=utf-8")

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧