java - 在 SPRING 中调用 ajax 响应时显示 Not Acceptable 错误

标签 java javascript jquery ajax spring

我正在尝试从 Controller 类获取 json 数组形式的响应。当我尝试从 javascript 发送请求时,出现“ Not Acceptable ”错误。请帮助查找我的代码中的错误。

这是我的 Controller 的代码

@RequestMapping(value = "/ajaxvalue", method = { RequestMethod.GET }, produces=MediaType.APPLICATION_JSON_VALUE)
  public @ResponseBody Map<String, String> geResourceList(String name){
        logger.info("getAllResources() from ajax begins: ");
        Map<String, String> resourceMap = null;
        try {
            logger.info("getAllResources() from ajax begin: ");
            resourceMap = new HashMap<String, String>();
            List<ResourceModel> resourceList = resourceService
                    .getAllResources();
            java.util.Iterator<ResourceModel> resourceIterator = resourceList.iterator();
            while (resourceIterator.hasNext()) {
                ResourceModel model = resourceIterator.next();
                resourceMap.put("" + model.getResourceType(),
                        model.getName());
                logger.info("" + model.getResourceType(),
                        model.getName());
            }

        } catch (Exception e) {
            logger.debug("Error while getting location in ajax request:"
                    + e.getMessage());
            e.printStackTrace();
        }logger.info("getAllResources() from ajax ENDS: ");
        return resourceMap;
    }

这是我的 jquery 代码。

jQuery.ajax({
url: '<c:url value='/learningresources/ajaxvalue'/>',
type: 'GET',
dataType:'json',
contentType: "application/json",
cache:false,
success:function(response){
    alert(response);
},
error:function(jqXhr, textStatus, errorThrown){
    alert("error: "+errorThrown);
}
});

最佳答案

这很可能是因为类路径中没有 jackson 库,以下是两种解决方案,具体取决于您的配置。

如果您使用maven,则在 pom.xml 中添加以下依赖项

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>${jackson.version}</version>
</dependency>

如果您手动添加 jar,则转到 jackson download page并根据您的spring版本下载所需的版本。

确保您根据您的 Spring 版本获得合适的 Jackson 版本。

关于java - 在 SPRING 中调用 ajax 响应时显示 Not Acceptable 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29180583/

相关文章:

java - ListView setCellFactory 会搞乱绑定(bind),除非匿名内部类?

javascript - 循环遍历 jstree 以搜索节点 id 的所有出现,然后更改这些节点的类

javascript - 如何将关闭事件绑定(bind)到 window.open()

javascript - 将 JSON 文件加载到 highcharts 中以绘制折线图

java - "mvn package"虽然在 Eclipse 中运行此 Maven Web 应用程序失败

java - Oracle JDK 和 OpenJDK 之间的区别

java - 如何测试ServerEndPoint、ClientEndPoint?

JavaScript 表单验证 : understanding function call

jquery - 复杂的嵌套 UL 导航

javascript - Packery - 通过 jquery 单击添加元素