我试图使用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
答案 0 :(得分:5)
对于json响应,您需要将@ResponseBody
注释添加到控制器方法中。
答案 1 :(得分:3)
您需要使用type:"GET"
而非method:"GET"
尝试使用
$.ajax({
url : "manageOrganization",
type : "GET", // its type not method
dataType: "json",
.....
同时检查您是否正在返回json
。
答案 2 :(得分:1)
您的控制器正在返回String,如果您在spring配置文件中配置了viewResolver,则可以将其解析为其他一些jsp文件。尝试添加@ResponseBody,如下所示:
@RequestMapping(value="/manageOrganization", method = RequestMethod.GET)
public @ResponseBody
String organizationData(@RequestParam String organizationId) {
return organizationId+" associated";
}