搞了半天, 后面参照 http://www.th7.cn/web/ajax/201611/194702.shtml, 终于把问题解决了。。
使用ajax向后台请求时,前台报错406 Not Acceptable
公司项目里面是springboot,都是集成自动配置好了的,在用xml方式的时候,直接使用@ResponseBody,并不能返回想要的类型,报了406,查了很多,不怎么管用,终于找到方案,小记一下
引入三个jar包(直接贴pom了)
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.8.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.8.3</version> </dependency>
spring配置文件里面配置bean
<!-- 避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 --> </list> </property> </bean>
@RequestMapping 加上 MediaType.APPLICATION_JSON_VALUE 都没用。。
或者 jackson-core-asl-1.9.13.jar、jackson-mapper-asl-1.9.13.jar 都加上了还是没用。。