HttpMediaTypeNotAcceptableException
我的jQuery函数有问题我想要实现的是填充列表框中的数据
JavaScript函数
function load() { $.getJSON('${findAdminGroupsURL}', { ajax : 'true' }, function(data) { var html = 'Groups'; var len = data.length; for ( var i = 0; i < len; i++) { html += '' + data[i].name + ''; } html += ''; $('#selection').html(html); }); }
服务器端是
@RequestMapping(value = "groups", method = RequestMethod.GET) public @ResponseBody List getGroups() { return this.businessGroups(); }
我在load上调用load()函数它会触发函数getGroups()并成功返回列表,但问题是getGroups()完成后
函数(数据)不加载永远不会进入该函数,错误是
org.springframework.web.HttpMediaTypeNotAcceptableException:找不到可接受的表示
我不能回发Group对象列表,还是必须是Java原始类型?
我今天发现了一个类似的post..
Spring的Json没有得到适当的回应
希望这可能有所帮助
http://forum.springsource.org/showthread.php?85034-HttpMediaTypeNotAcceptableException-(always)
我不确定您使用的是哪个弹簧版本。 我遇到了同样的问题,我通过在我的classpath中添加以下jacksonjar来解决它。我的spring version is 3.2.2
jackson-mapper-asl jackson-core-asl
这是我的控制器
@RequestMapping(value="/{name}", method = RequestMethod.GET) public @ResponseBody List getSuppliers(@PathVariable String name) { searchDAO = (SearchDAO) SpringApplicationContext.getBean("searchDAO"); List 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格式和jackson jars来转换你的pojo。