前台ajax代码:
$.ajax({ 
                 type: "POST", 
                 url:"/OnLineTest01/servlet/admin_account_updatePwd", 
                 data:{original:$("#original").val(),freshF:$("#freshF").val(),freshS:$("#freshS").val()},     
                  success: function(msg){
                    alert(msg);
                  },    
                 error: function(){ 
                     alert("未知异常,请稍后再试!"); 
                  } 
                }); 
后台servlet处理代码:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String updateResult = null;
PrintWriter out = response.getWriter(); 
String original = request.getParameter("original");
String freshF = request.getParameter("freshF");
String freshS = request.getParameter("freshS"); //检测格式及正确性
if(original==null || !original.matches("\\w{5,}")||freshF==null ||
!freshF.matches("\\w{5,}")||freshS==null || !freshS.matches("\\w{5,}")) { //密码至少5位,由数字/字母/下划线组成
updateResult = "密码至少5位,由数字/字母/下划线组成!";
}else if(!freshF.equals(freshS)){
updateResult = "新密码两次输入不同!";
}

if(updateResult==null) {
MD5Code code = new MD5Code();
original = code.getMD5ofStr(original);//数据库中存储加密后的密文
HttpSession session = request.getSession();
Teacher t = (Teacher)session.getAttribute("teacher");
if(t==null) {
updateResult = "账号超时,请重新登录!";
}else {
if(!original.equals(t.getPassword())) {
updateResult = "原密码错误!";
}else {//校验结果正确,可以更新密码
String fresh = code.getMD5ofStr(freshF);//产生新的存储到数据库的密文
//存入数据库
TeacherServiceImp teacherService = new TeacherServiceImp();
boolean result = teacherService.updatePwd(fresh, t.getUserId());
if(result) {
//修改session中teacher对象密码信息
t.setPassword(fresh);
session.setAttribute("teacher", t);
updateResult = "密码更新成功!";
}else {
updateResult = "服务异常,密码更新失败!";
}
}
}
}
System.out.println("updateResult"+updateResult);
out.write(updateResult);
}问题:这段代码每次都有执行,而且都会正确输出updateResult的值,但是在前台的ajax代码有时候能接收到服务端返回的值,有时候又不能,有时候把服务端的代码位置调整下又会有然后过段时间有没有了,请高手帮帮哈。