406(不可接受)。尝试使用 @Responsebody 将对象或整数从 spring 处理函数返回到 ajax 请求

Posted

技术标签:

【中文标题】406(不可接受)。尝试使用 @Responsebody 将对象或整数从 spring 处理函数返回到 ajax 请求【英文标题】:406(Not acceptable) .trying to return object or integer from spring handling function using @Responsebody to ajax request 【发布时间】:2015-12-04 22:38:31 【问题描述】:

我在javascript中使用了以下代码:

function submit()
    var form = $('#egform').serialize();
    alert("before ajax");
     $.post("testing.html", form, function(data, status) 
        if (data==1) 
            alert("Save successfull");
         else 
            alert("Failed");
        
    );             

在我的控制器中:

@RequestMapping("testing.html")
public @ResponseBody Integer gettestvalue(HttpServletRequest request)
    String a=request.getParameter("first");
    System.out.println(a);
    return 1;

但我没有得到返回的 1 到 javascript 函数。

我做错了什么?

【问题讨论】:

你会得到什么?试试console.log(data) 看看返回值 您可以在调用时访问方法gettestvalue..? 将 int 更改为 Integer 作为您的返回类型。 @Aakash 但它不起作用 @gefei 实际上我在控制台上查看时出现 406 错误 【参考方案1】:

确保您的pom.xml 中有以下依赖项:

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.13</version>
</dependency>

或者,如果您不使用 Maven,只需确保将 Jackson Mapper 导入到您的项目中。

这对我来说不是必需的,但您可能还需要 core dependency:

<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-core-asl</artifactId>
    <version>1.9.13</version>
</dependency>

【讨论】:

确定重建?您是否遇到同样的错误? 还要确保您的servlet-context.xml 中有&lt;annotation-driven /&gt; 就是这样。还是同样的问题?你到底改变了什么?

以上是关于406(不可接受)。尝试使用 @Responsebody 将对象或整数从 spring 处理函数返回到 ajax 请求的主要内容,如果未能解决你的问题,请参考以下文章

已完成 500 内部服务器错误; RestClient::NotAcceptable(406 不可接受)

Spring @RestController,spring-boot 出现意外错误(类型=不可接受,状态=406)

从 Ember 发布到 DRF API 时出现 406(不可接受)

如何在 jquery 中获取 406 错误(不可接受)

Spring-boot 执行器端点 - 406 不可接受

android 改造后注销请求给出错误 406 不可接受:用户未登录。...在邮递员 api 上工作正常