必威体育Betway必威体育官网
当前位置:首页 > IT技术

Http状态码406(Not Acceptable) 错误问题解决方法

时间:2019-09-04 08:13:19来源:IT技术作者:seo实验室小编阅读:62次「手机版」
 

406

状态码406:HTTP协议状态码的一种,表示无法使用请求的内容特性来响应请求的网页。说白了就是后台的返回结果前台无法解析就报406错误。

示例代码中请求代码,后台代码均正常,且有返回信息。如下图:

$.ajax({
            url:'http://localhost:8080/findDsrwByDsrwid',
            type : 'post',
            data :{
                id : cztj
            },
            dataType:'json',
        }).success(function(result){
          }

那我们来看看网页状态:

状态码:406,请求头(request headers)中看到请求信息是json格式,响应头(response Hraders)中却发现返回信息的格式是“text/html”,前台无法解析,需将结果转换成json格式返回给前台。

解决方案

jackson开源工具

导入jackson-core和jackson-mAPPer-asl的依赖包,如果你是maven工程,在pom加入

 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.1.4</version>
    </dependency>

      <!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
      <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-mapper-asl</artifactId>
          <version>1.9.12</version>
      </dependency>

此时还需要关注SpringMVC的一个配置,具体原因请看原理解析。

原理解析:

为什么只要导入jar就好了呢?是因为spring mvc 配置了 <mvc:annotation-driver/> 后 ,如果classpath 里面包含jackson 包,则自动注册MappingJackson2HttpmessageConverter,从而支持json 输出。

这是springMVC中的一句配置

<!-- 能支持springmvc更高级的一些功能,JSR303,快捷的ajax -->
<mvc:annotation-driven/>

且annotation-driver是被AnnotationDrivenBeanDefinitionparser解析,底层原因博主也不是很懂,需要多看源码,这里提供另外一篇博文,希望有所帮助。

https://blog.csdn.net/taotoxht/article/details/54136890?locationNum=4&fps=1

结果展示:

 

相关阅读

MyEclipse运行JAVA Web时出现HTTP Status 500错误

今天用MyEclipse运行前几个月前写的一个系统,出现了HTTP Status 500错误。这个系统是用SSH框架写的,数据库用的是MYSQL。造成这个错

HTTP.sys 远程命令执行漏洞

HTTP.sys 远程命令执行漏洞http://www.tiaozhanziwo.com/archives/765.html

http和https有什么区别?网站有没有必要启用https

最近在浏览文章的时候发现,很多站长都在纠结网站到底要不要做https的问题。作为个人站长,也一直关注着这块。最近查阅了很多资料,对h

HTTPS、SSL、TLS三者之间的联系和区别

SSL(Secure Socket Layer 安全套接层)是基于HTTPS下的一个协议加密层,最初是由网景公司(Netscape)研发,后被IETF(The Internet Enginee

Linux报错ping: https://www.baidu.com: Name or serv

问题: [root@localhost104 softwares]# ping https://www.baidu.comping: https://www.baidu.com: Name or service not known没有

分享到:

栏目导航

推荐阅读

热门阅读