我正在使用Spring 4.我正在尝试根据传递的id进行ajax调用以获取应用程序列表。我能够在控制器中打印列表。但是在ajax的响应主体中,我无法获得警报中的成功消息。
我不确定,如果控制器中的方法签名有任何重大错误,这会避免响应回调用javascript ajax函数。
您能告诉我,为什么响应块不起作用?
以下是代码,
JSP:
<tr>
<td>Category <span class="mandatory">*</span></td>
<td>
<form:select path="categoryId" onchange="javascript:crunchifyAjax(value)" >
<c:forEach items="${categoryList}" var="category">
<form:option value="${category.id}" label="${category.name}" />
</c:forEach>
</form:select>
</td>
</tr>
的javascript:
function crunchifyAjax(categoryId) {
alert(categoryId)
$.ajax({
url : '../public/getApplicationList',
data: {
categoryId : categoryId
},
success : function(response){
alert("success")
},
});
}
控制器:
@RequestMapping(value = "/public/getApplicationList", method = RequestMethod.GET)
@ResponseStatus(value=HttpStatus.OK)
public @ResponseBody List<String> sectionList(@RequestParam(required = false, value = "") String categoryId,@ModelAttribute("eventReleaseForm") EventReleaseForm eventReleaseForm,BindingResult result, ModelMap model) throws NumberFormatException, FwkDBException{
System.out.println("inside sectionList");
System.out.println(eventReleaseForm.getCategoryId());
List<String> lst = new ArrayList<String>();
lst.add("hello");
return lst;
}