欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring MVC前端使用ajax请求数据是报406错误

程序员文章站 2022-07-15 15:37:13
...

Spring MVC前端使用ajax请求数据是报406错误
这已经不是我第一次遇到406异常了,以前解决了问题都没有记录下来,导致我今天又犯了同样的错误!先对该问题作记录。

出现406问题的原因是使用了@ResponseBody注解,但又缺少依赖。

我的解决方法:

  1. 确保数据库使用了正确的编码格式,这是最基础的
  2. 添加jar依赖

            <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.7.1-1</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.44</version>
        </dependency>
  3. 在配置文件中添加配置

    <!--避免IE执行AJAX时,返回JSON出现下载文件 -->
    <bean
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean
                    class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/plain;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>
  4. 使用@RequestMapping路径请求数据时,在请求方法路径的后缀上不要以.htm.html结尾

    @RequestMapping(value = "/getallEmoloyee")  //不是@RequestMapping(value = "/getallEmoloyee.htm") 
    @ResponseBody
    public List<Employee> getallEmoloyee() {
        return employeeService.getallEmployee();
    }

    希望对你有所帮助