varun varun - 1 year ago 101
Ajax Question

How to call controller method from jsp using ajax

I am using spring boot, maven 3.2.5.
I am working on simple maven webapp using spring boot following mvc pattern.
i am trying to call controller method from jsp suing ajax.

this is my jsp javascript method look like , which call the ajax call to call the controller method.

function listExistingUser()


type : "GET",
url : '${home}/loginController/listExistingUser',
dataType : "json",
success : function(data) {
error : function(data) {


Bellow is my controller class.

public class LoginController {

LoginService loginService;

@RequestMapping(value = "/listExistingUser", method = RequestMethod.GET)
public Object getAuthentication(@ModelAttribute("studentId") int studentId,
HttpServletRequest request, HttpServletResponse response)
System.out.println("listExistingUser is called in controller");

when I run my application, I am able to access login.jsp from the bellow url

when i hit submit button my jsp page javascript method is also getting called that is

but i am not able to called my controller method.

where I am making mistake. can anyone help me.

Answer Source

there's some changes to be made in the contoller method

@RequestMapping(value = "/listExistingUser", method = RequestMethod.GET)
public ResponseEntity<Object> getAuthentication(){
System.out.println("listExistingUser is called in controller");
return new ResponseEntity<Object>(object,HttpStatus.OK); 

you dont need to have @modelAttribute annotation since you are not binding any object with the request. and it is a good practise to return ResponseEntity instead of returning an Object.

if you need to get an id from an incoming request like this siteName/listExistingUser/1 then use this method.

@RequestMapping(value = "/listExistingUser/{id}", method = RequestMethod.GET)
public ResponseEntity<Object> getAuthentication(@PathVariable("id") int id){}

if you want to get values from a url like this siteName/listExistingUser?id=1 then use this method instead.

@RequestMapping(value = "/listExistingUser", method = RequestMethod.GET)
public ResponseEntity<Object> getAuthentication(@RequestParam("id") int id){}
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download