在使用ajax接收返回map的时候,提示406错误
来源:互联网 发布:三星官方网站软件下载 编辑:程序博客网 时间:2024/06/05 09:41
在使用ajax接收返回map的时候,提示406错误
这时因为springMVC3.x和springMVC4.x所以来的jackson的jar包有所改变,我们以maven来说明
在3.x中,为
<pre name="code" class="html"> <artifactId>jackson-mapper-lgpl</artifactId><dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-lgpl</artifactId> <version>1.8.1</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-lgpl</artifactId>
<version>1.8.1</version>
</dependency>
如下所示
<dependency> <groupId>com.fasterxml.jackson.jaxrs</groupId> <artifactId>jackson-jaxrs-xml-provider</artifactId> <version>2.5.2</version></dependency><dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.5.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.5.2</version></dependency>如果修改了jar包以后还报错,另外一个原因可能是springMVC.xml头文件上的xsi:schemaLocation里版本显示的还是3.x,这里手动改成4.x。
如果还是没有解决问题,可能的原因是spring4.x关于json配置方式有所变更
3.x中
<mvc:annotation-driven /> <!-- 处理请求response返回值,如下配置能正确返回字符串型返回值,如返回值为对象,则自动转为json --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json; charset=UTF-8</value> <value>text/html; charset=UTF-8</value> </list> </property> </bean> <bean id="mappingStringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter" /> <bean id="handleAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 --> </list> </property> </bean>
4.x中
<mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"/> <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"> <property name="favorPathExtension" value="false" /> </bean> <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean> <bean id="stringConverter" class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> </list> </property> </bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="stringConverter" /> <ref bean="jsonConverter" /> </list> </property> </bean>
修改后,ajax即可成功接收map信息
如果解决了上面问题
不报406错误了,而报500错误,证明有了作用,结果发现是引入的jackson-databind-2.7版本未知原因冲突,所以替换为2.5版本后,解决了问题.
1 0
- 在使用ajax接收返回map的时候,提示406错误
- 在使用Volley进行网络获取的时候错误提示500,服返回Invalid chunk header
- 数据在SQLLDR的时候提示错误, 使用TRAILING NULLCOLS
- 使用mybatis,在添加数据的时候返回主键,当查询count和属性字段怎么接收返回数据
- linux 在使用ssh实现内网互联互通时候提示connected by ip 错误的解决方法
- 在做极光推送的时候,出现以下错误提示
- 使用PEAR的Services_Twitter包的时候出现错误提示
- 数据在SQLLDR的时候提示错误,在逻辑记录结束之前未找到列(使用 TRAILING NULLCOLS)
- 数据在SQLLDR的时候提示错误,在逻辑记录结束之前未找到列(使用 TRAILING NULLCOLS)
- 在Iframe或Frmae中使用Asp.net AJAX控件时提示错误的解决
- Ajax 接收服务器返回的json响应
- jQuery的Ajax接收java返回数据
- jsp页面的ajax和form表单提交后接收数据的区别(SpringMVC控制器返回Map对象)
- 关于ajax获取数据时候的返回
- PHP在处理ajax返回值的时候,如果使用return如 return $result会失败,echo $result却没问题。解释原因如下: 1.ajax请求从服务器端读取返回值,而且这些返回值必
- 为什么我在使用AJAX时候的e.preventDefault
- 使用AJAX调用Spring controller 并返回map对象,@ResponseBody 只能返回string的解决方案:
- 在使用ThinkPHP时候数据更新的时候,save()方法返回值为0的问题!!!!
- 一行代码解决:服务器返回null导致应用崩溃
- AndroidStudio项目关联git远程仓库
- About the IMX6 PCIe Problem
- Webservice
- codeforces367(字符串hash求lcp比较大小,Trie解最大异或问题)
- 在使用ajax接收返回map的时候,提示406错误
- ios 对于UIView的动画的初步理解
- BZOJ3444 最后的晚餐
- 关于UPnP Device Architecture 2.0的阅读笔记(一)
- jee、spring、spring mvc、mybatis 学习(一)
- 工作流
- 【杭电oj1025】Constructing Roads In JGShining's Kingdom
- 基于FPGA的彩色图像显示
- 文件上传