ajax请求失败 chrome报错net::ERR_INCOMPLETE_CHUNKED_ENCODING 问题原因

  • 项目框架
    • React.js + webpack + ES6 + JQuery

 

  • 问题场景
    • ajax请求用户数据,服务器返回json格式,数据很可能会比较长,甚至达到几百kb。

 

  • 问题描述
    • 客户端ajax请求失败,但并不是每次都失败,有时候又请求正常,chrome报错截图如下:

    • chrome检查network的status显示"(failed)",而请求的status code为200

 

  • 问题探索
    • 关于这一报错,网上查阅资料发现众说纷纭,也就是说可能出现这一报错的场景是比较多的,其中不乏浏览器设置的因素。
    • 再怀疑浏览器设置原因之后,我继续在ie浏览器测试,仍然会报错,但是报错的信息不太一样,这是跟浏览器有关的。
    • 后来发现,问题出在服务器返回的json数据是不完整的,客户端无法解析格式错误的json数据,因此报错。也是为什么服务器返回的请求响应码为200而客户端显示(failed)的原因。
    • json数据的不完整是有规律的,最大大小为15.2kb左右,也就是说超过这一大小的json数据就会被截断。
    • 与后台沟通后,确定为服务器容量不足的原因。

 

  • 问题结论
    • 下次在chrome浏览器遇到这个问题的时候,如果同样是ajax请求需要返回较长json数据的情况,并且报错时隐时现,首先检查是否是json数据不完整的原因
posted @ 2016-06-16 15:09  遇到不会的多学习!  阅读(57274)  评论(0编辑  收藏