急求使用jquery提交的请求回调函数接收不到后台返回值解决办法

$.ajax({
type: "post",
url: uri,
async:true,
data: data,
success: function (result) {
$("#showrecord").append(result);
},
error:function(XMLResponse){
alert("wait a minute");
}
});
后台:
HttpServletResponse res=ServletActionContext.getResponse();
PrintWriter out = res.getWriter();
StringBuffer data = new StringBuffer();
data.append("

");
data.append("");
data.append("");
data.append("");
data.append("");
data.append("");
data.append("");
data.append("");
data.append("");
data.append("");
for(int i=0;i data.append("");
data.append("");
data.append("");
data.append("");
}
data.append("");
data.append("
用户列表
#用户名昵称密码
"+sequenceNums.get(i)+""+recordList.get(i).getTime()+""+recordList.get(i).getAddress()+"
");
String str=new String(data.toString().getBytes("UTF-8"),"UTF-8");
out.print(str);
out.flush();
out.close();
理想效果是在页面输入查询条件后,点击按钮后在按钮下方的div层里显示后台返回的数据,现在点击按钮后,后台接收到了请求,但是页面原有的查询框和按钮不见了,出现一个只显示后台out.print(data);的数据的页面,还是乱码的,显示之前jquery的error:function(){}执行了,求大神分析哪里出了问题

你是从后台返回到前台str变量?如果是的话,这样success: function (result) 中result是接收不到的