How can I return error to ajax then handle this error on the page.
Here is my Controller code
@RequestMapping(value = "parseMessage", method = RequestMethod.GET)
public @ResponseBody Map<String, String> parseMessage(@RequestParam("msg") String msg) {
Map<String, String> msgParseMap = new HashMap<String, String>();
try {
this.messageDefinition = Utils.loadPropertiesFromClassPath("/aaa");
this.bnsProps = Utils.loadPropertiesFromClassPath("/bbb");
this.CntrMessageEncoding = bnsProps.getProperty("code");
rm = new ReqMessage(this.messageDefinition, Charset.forName(this.CntrMessageEncoding),
msg.getBytes());
// Parse Header
for (String header : bnsHeaderList) {
msgParseMap.put(header,
rm.getFieldAsString(header, Charset.forName(this.CntrMessageEncoding)));
}
int position = 0;
String restStr = msg.substring(rm.getHeaderLength());
for (Map.Entry<String, String> entry : fieldMap.entrySet()) {
int end = Integer.parseInt(entry.getValue());
msgParseMap.put(entry.getKey(), restStr.substring(position, position + end));
position = end;
}
} catch (IOException ex) {
logger.error(ex.toString());
}
return msgParseMap;
}
here is my ajax call
$('#parseBtn').click(function(event){
var parseMsg = $('#parseMsg').val();
if(parseMsg.trim().length==0){
alert("No Data ready to Parse!");
return;
}
$.ajax({
type: "GET",
url: "/parseMessage",
data: {"msg" : parseMsg},
success: function (data) {
$('#bnsHeaderTable input').each(function(){
var field = data[$(this).attr('id')];
$(this).val(field);
});
$('#txRqTable input').each(function(){
var field2 = data[$(this).attr('id')];
$(this).val(field2);
});
},
error: function(err){
}
});
});
My controller will return a Map, and if something wrong, how can I get the code into ajax-error handle section?
thank you