无法使用ajax调用spring控制器

时间:2014-04-04 05:40:00

标签: java jquery ajax spring jsp

我试图使用ajax调用spring控制器,但无法进入控制器。我收到错误405请求方法' POST'不支持错误。我在这里保留我的代码,请给出建议来过来

这是我从jsp页面调用控制器的ajax代码,这里我得到了锚属性值。

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);   
         }  
    });
}

控制器

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

这里我应该将字符串作为ajax响应获取到jsp,但是我收到了错误消息。任何人都可以帮助我。

关心Sree

3 个答案:

答案 0 :(得分:5)

对于json响应,您需要将@ResponseBody注释添加到控制器方法中。

答案 1 :(得分:3)

您需要使用type:"GET"而非method:"GET"尝试使用

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

阅读jQuery.ajax()

同时检查您是否正在返回json

答案 2 :(得分:1)

您的控制器正在返回String,如果您在spring配置文件中配置了viewResolver,则可以将其解析为其他一些jsp文件。尝试添加@ResponseBody,如下所示:

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