[英]Moving Spring3 MVC Errors to Ajax?
我正在做一個在Spring-MVC項目中添加一些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);
}
});
上面的代碼可顯示錯誤,但不會顯示錯誤消息
以下是我的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;
}
}
JSON類別:
公共類JsonResponse {private String status = null; private Object結果= null;
public String getStatus(){返回狀態; }
public void setStatus(String status){this.status = status; }
public Object getResult(){返回結果; }
public void setResult(Object result){this.result = result; }
}
嘗試使用response.result[i].defaultMessage
而不是response.result[i].code
。
response.result
W3C根據XMLHttpRequest 2在response
對象中沒有result
屬性
如果您在響應表單服務器端傳遞一些文本值。 您可以將它作為整個文本獲得response.responseText
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.