Java 将Spring3MVC错误迁移到Ajax?

Java 将Spring3MVC错误迁移到Ajax?,java,ajax,spring,spring-mvc,Java,Ajax,Spring,Spring Mvc,我正在做一个项目,为SpringMVC项目添加一些Ajax。我取下了标签 <form:errors path="fieldName"/> 这会在JSP中插入错误,现在我正在尝试编写一些Ajax代码来在页面上显示错误。谁能告诉我如何更新以下代码以显示错误消息而不是错误 success: function(response) { // we have the response $('#error').hide('fa

我正在做一个项目,为SpringMVC项目添加一些Ajax。我取下了标签

<form:errors path="fieldName"/>

这会在JSP中插入错误,现在我正在尝试编写一些Ajax代码来在页面上显示错误。谁能告诉我如何更新以下代码以显示错误消息而不是错误

success: function(response)
          {
          // we have the response 
            $('#error').hide('fast');   
            if(response.status == "SUCCESS")
            {
                $('#error').hide('fast');  
                alert("Thanks for submitting.  We will get back to you as soon as possible.\n\n" + response.result);
                $('#error').hide('slow');

            }else
            {
              errorInfo = "";
              for( i = 0 ; i < response.result.length ; i++){
                  errorInfo += "<br>" + (i + 1) +". " + response.result[i].code;
              }
              $('#error').html("Please correct following errors: " + errorInfo);
              $('#info').hide('slow');
              $('#error').show('slow');
              $('#input').show('slow');
          }       
        },  
        error: function(e){  
          alert('Error: ' + e);  
        }  
      });  
成功:功能(响应)
{
//我们得到了答复
$('#error')。隐藏('fast');
如果(response.status==“SUCCESS”)
{
$('#error')。隐藏('fast');
警报(“感谢您提交。我们将尽快回复您。\n\n”+response.result);
$('#error')。隐藏('slow');
}否则
{
errorInfo=“”;
对于(i=0;i”+(i+1)+“+响应。结果[i]。代码;
}
$('#error').html(“请更正以下错误:“+errorInfo”);
$('info')。隐藏('slow');
$('#error')。show('slow');
$('输入').show('慢');
}       
},  
错误:函数(e){
警报('错误:'+e);
}  
});  
上面的代码用于显示错误,但不显示错误消息

下面是我的java代码:

    @RequestMapping(value = "/ajax.html", method = RequestMethod.POST)
    public @ResponseBody
    JsonResponse addMessage(@Valid
            @ModelAttribute(value = "memberrequest") MemberRequest memberrequest,
            BindingResult result) {

            JsonResponse res = new JsonResponse();


        if (!result.hasErrors()) {
            res.setStatus("SUCCESS");

            // Setting data over to RT

            String Ticket = zzz.sentWebRequest(memberrequest);

            /*
             * Setting out the ticket number to be displayed to user
             */

            Map<String, Object> model = new HashMap<String, Object>();
            Ticket t = new Ticket();
            t.setTicketDetails(Ticket);

            model.put("ticket", t);

            res.setResult(Ticket);
        } else {
            res.setStatus("FAIL");
            res.setResult(result.getAllErrors());
        }

        return res;
    }
}
@RequestMapping(value=“/ajax.html”,method=RequestMethod.POST)
公共@ResponseBody
JsonResponse addMessage(@Valid)
@ModelAttribute(value=“memberrequest”)memberrequest memberrequest,
BindingResult(结果){
JsonResponse res=新的JsonResponse();
如果(!result.hasErrors()){
res.setStatus(“成功”);
//将数据设置为RT
String Ticket=zzz.sentWebRequest(memberrequest);
/*
*设置要向用户显示的票号
*/
映射模型=新的HashMap();
票证t=新票证();
t、 设置票证详情(票证);
模型。put(“票”,t);
res.setResult(票据);
}否则{
res.setStatus(“失败”);
res.setResult(result.getAllErrors());
}
返回res;
}
}
JSON类:

公共类JsonResponse{private String status=null;private 对象结果=空

公共字符串getStatus(){return status;}

public void setStatus(字符串状态){this.status=status;}

公共对象getResult(){return result;}

public void setResult(对象结果){this.result=result;}

}

根据W3C的规定,
response
对象中没有
result
属性


如果您在响应表单服务器端传递一些文本值。您可以将其作为整个文本获取
response.responseText

尝试
response.result[i].defaultMessage
而不是
response.result[i].code

response.result