Http状态码406(Not Acceptable) 错误问题解决方法 | 您所在的位置:网站首页 › 浏览器请求格式非法怎么解决 › Http状态码406(Not Acceptable) 错误问题解决方法 |
状态码406:HTTP协议状态码的一种(4xx表示客户端的问题),表示客户端无法解析服务端返回的内容。说白了就是后台的返回结果前台无法解析就报406错误。 示例代码中请求代码,后台代码均正常,且有返回信息。如下图: $.ajax({ url:'http://localhost:8080/findDsrwByDsrwid', type : 'post', data :{ id : cztj }, dataType:'json', }).success(function(result){ }那我们来看看网页状态: 状态码:406,请求头(Request Headers)中看到Accept优先是application/json格式,而响应头(Response Hraders)中却发现返回信息的格式是“text/html”,前台无法解析,需将结果转换成json格式返回给前台。 解决方案:jackson开源工具(springMVC天然支持) 导入jackson-core和jackson-mapper-asl的依赖包,如果你是maven工程,在pom加入 com.fasterxml.jackson.core jackson-core 2.1.4 org.codehaus.jackson jackson-mapper-asl 1.9.12此时还需要关注springMVC的一个配置,具体原因请看原理解析。 原理解析:为什么只要导入jar就好了呢?是因为spring mvc 配置了 后 ,如果classpath 里面包含jackson 包,则自动注册MappingJackson2HttpMessageConverter,从而支持json 输出。 这是springMVC中的一句配置 且annotation-driver是被AnnotationDrivenBeanDefinitionParser解析,这里提供另外一篇博文,希望有所帮助。 spring mvc jackson 支持原理分析_taotoxht的专栏-CSDN博客_jackson 原理 结果展示:——————————————————————————————————————————— 也可以使用另一个json解析包fastjson,来替代jackson,具体是: 引入jar包: com.alibaba fastjson 1.2.58注解驱动配置为: application/json text/html;charset=UTF-8结果: |
CopyRight 2018-2019 实验室设备网 版权所有 |