I have to return a list of employees from a controller in response to jQuery AJAX request. How should I do for it?
My controller:
I need this list of employee in ajax
In spring when you need object serialization, de-serialization and message conversion. in that case you need to annotate your controller handler method with @RequestBody
and @ResponseBody
.
Where:
in your case you need JSON type, you have to add @ResponseBody
to your method signature or just above the method, and produces and consumes which are optional, like:
@RequestMapping(value="phcheck", method=RequestMethod.GET
produces="application/json")
public @ResponseBody List pay(@RequestParam("empid") int empid, String fdate, String tdate) {
//get your employee list here
return empList;
}
and in AJAX call use:
contentType: 'application/json'
attribute tells the type of data you're sending. anddataType: json
attribute tells jquery what content type of response will receive.in your case contentType: 'application/json'
is not needed, default one i.e. 'application/x-www-form-urlencoded; charset=UTF-8'
is enough.
and you can receive list of employees in your AJAX success, to iterate over it do like:
success: function (data) {
$.each(data, function(index, currEmp) {
console.log(currEmp.name); //to print name of employee
});
},
See Also: