lundi 21 avril 2014

Java - can pas en mesure d'appeler contrôleur de printemps en utilisant ajax - Stack Overflow


I am trying to call a spring controller using ajax, but can not able to go to the controller. I am getting Error 405 Request method 'POST' not supported error. I am keeping my code here please give suggestion to come over it


this is my ajax code calling controller from jsp page, here i am getting the anchor attribute value.


basic.jsp


function organizationData(anchor) {
var value = anchor.getAttribute('value');
$.ajax({
url : "manageOrganization",
method : "GET",
dataType: "json",
contentType: 'application/json',
data: {organizationId : value },
success : function(response) {
alert(response);
},
error : function(e) {
alert('Error: ' + e);
}
});
}

controller


@RequestMapping(value="/manageOrganization", method = RequestMethod.GET)
public String organizationData(@RequestParam String organizationId) {
return organizationId+" associated";
}

here i should get the string to the jsp as a ajax response, but i am getting the error message. Any body can help me.


Regards Sree




For json response you need to add @ResponseBody annotation to your controller method.




You need to use type:"GET" not method:"GET" try it like,


$.ajax({  
url : "manageOrganization",
type : "GET", // its type not method
dataType: "json",
.....

Read jQuery.ajax()


Also check that you are returning a json or not.




Your controller is returning String which may be resolved into some other jsp file IF you have configured viewResolver in spring configuration file. Try adding @ResponseBody like this:


@RequestMapping(value="/manageOrganization", method = RequestMethod.GET)
public @ResponseBody
String organizationData(@RequestParam String organizationId) {
return organizationId+" associated";
}


I am trying to call a spring controller using ajax, but can not able to go to the controller. I am getting Error 405 Request method 'POST' not supported error. I am keeping my code here please give suggestion to come over it


this is my ajax code calling controller from jsp page, here i am getting the anchor attribute value.


basic.jsp


function organizationData(anchor) {
var value = anchor.getAttribute('value');
$.ajax({
url : "manageOrganization",
method : "GET",
dataType: "json",
contentType: 'application/json',
data: {organizationId : value },
success : function(response) {
alert(response);
},
error : function(e) {
alert('Error: ' + e);
}
});
}

controller


@RequestMapping(value="/manageOrganization", method = RequestMethod.GET)
public String organizationData(@RequestParam String organizationId) {
return organizationId+" associated";
}

here i should get the string to the jsp as a ajax response, but i am getting the error message. Any body can help me.


Regards Sree



For json response you need to add @ResponseBody annotation to your controller method.



You need to use type:"GET" not method:"GET" try it like,


$.ajax({  
url : "manageOrganization",
type : "GET", // its type not method
dataType: "json",
.....

Read jQuery.ajax()


Also check that you are returning a json or not.



Your controller is returning String which may be resolved into some other jsp file IF you have configured viewResolver in spring configuration file. Try adding @ResponseBody like this:


@RequestMapping(value="/manageOrganization", method = RequestMethod.GET)
public @ResponseBody
String organizationData(@RequestParam String organizationId) {
return organizationId+" associated";
}

0 commentaires:

Enregistrer un commentaire