我的jQuery函数有问题我想要实现的是在列表框中填充数据
JavaScript函数
function load() {
$.getJSON('${findAdminGroupsURL}', {
ajax : 'true'
}, function(data) {
var html = '<option value="">Groups</option>';
var len = data.length;
for ( var i = 0; i < len; i++) {
html += '<option value="' + data[i].name + '">' + data[i].name
+ '</option>';
}
html += '</option>';
$('#selection').html(html);
});
}
服务器端是
@RequestMapping(value = "groups", method = RequestMethod.GET)
public @ResponseBody
List<Group> getGroups() {
return this.businessGroups();
}
我在load上调用load()函数它会触发函数getGroups()并成功返回列表但问题是getGroups()完成后的问题
函数(数据)不加载永远不会进入该函数,错误是
org.springframework.web.HttpMediaTypeNotAcceptableException: 找不到可接受的 表示
我不能回发组对象列表,还是必须是Java基元类型?
答案 0 :(得分:6)
我今天发现的一篇类似的帖子..
Spring's Json not being resolved with appropriate response
希望这可能会有所帮助
http://forum.springsource.org/showthread.php?85034-HttpMediaTypeNotAcceptableException-(always)
答案 1 :(得分:0)
我不确定您使用的是哪个弹簧版本。我有同样的问题,我通过将以下杰克逊罐添加到我的classpath.my spring version is 3.2.2
jackson-mapper-asl
jackson-core-asl
这是我的控制器
@RequestMapping(value="/{name}", method = RequestMethod.GET)
public @ResponseBody List<Supplier> getSuppliers(@PathVariable String name) {
searchDAO = (SearchDAO) SpringApplicationContext.getBean("searchDAO");
List<Supplier> suppliers = null;
try {
suppliers = searchDAO.searchSuppliersByZipCode(name);
//assertTrue(suppliers.size()>=1);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return suppliers;
}
我的应用程序上下文中只有mvc注释,不需要显式内容协商。当你有@ResponseBody
时,默认将使用json格式和杰克逊罐子来转换你的pojo。