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();
    }

    希望對你有所幫助

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章