【发布时间】:2015-05-07 11:38:05
【问题描述】:
我正在尝试将模型对象从 spring mvc 控制器返回到 jquery ajax 方法,但它返回空白作为响应
jsp:
$( "#dialog-link10" ).click(function( event ) {
var appname= $("#dialog-link10").text();
alert(appname);
if(appname == 'RS Applications') {
$.ajax({
type : "GET",
url : 'abc.html',
dataType: 'JSON' ,
data:
{"id" : $("#dialog-link10").text()}
,
success : function(data) {
alert('success')
alert('data')
}
});}
控制器:
@RequestMapping(method=RequestMethod.GET, value="/abc")
@ResponseBody
public Model helloWorld2( @RequestParam("id") String id, Model model) {
System.out.println("*****"+id);
List <String> list1=new ArrayList<String>();
List <String> list2=new ArrayList<String>();
System.out.println("here");
list1.add("abc");
list1.add("abc2");
list1.add("abc3");
list1.add("abc4");
model.addAttribute("list1", list1);
return model;
}
这也不会生成成功警报。 请推荐
【问题讨论】:
-
您在发出 ajax 请求时是否在控制台中看到此
*****<id>?我认为您的请求没有到达控制器。 -
是的 id 正在打印...它进入控制器内部但没有从那里返回...如果我将返回类型更改为字符串而不是列表它返回成功但是当我试图从控制器方法中检索列表作为响应,它不起作用
-
您在控制台中看到什么了吗?消息转换、不支持的媒体等是否有任何错误?您是否在 Spring 配置文件中注册了杰克逊消息转换器?在此处发布配置文件。
-
是的,我在 dispatcher-servlet 中添加了 jackson mapper:
-
mvc:annotation-driven>
标签: java jquery ajax spring-mvc