您的位置:首页 > 其它

记一次错误“net::ERR_INCOMPLETE_CHUNKED_ENCODING”

2017-11-16 18:25 525 查看
前端找我: qa环境(老)能用 dev环境(新)不能用。好像是个跨域问题.

具体表现为发送了个 option后,不继续发post了

没多想,看了下代码。感觉不应该是个跨域问题。不过还是改成了allow *

改了后没用

感觉是代码问题,因为老环境OK,新环境不行。然而同样代码的另一个新环境又可用???

想到可能是前端问题,于是看console,发现报错:

failed to load resource net::err_incomplete_chunked_encoding chrome

百度, 各种千奇百怪的答案,nginx磁盘满了、chrome的自身问题、tomcat版本问题…

还是觉得应该是后端问题,认定应该是新老环境之间web的一些配置变化导致。

compare两个分支的代码。发现web.xml新加了filter。于是去掉filter

问题解决

追踪问题.本地调试,发现是之间已经发现的坑.就是字符集编码的问题

1.new String(charArrayWriter.toCharArray()).getBytes();

//这句代码如果byte没有指定编码,而且是中文,则会报错String index out of range -1.
2.Map respMap = JSON.parseObject(responseCopier.getBytes(), Map.class);


改:

public byte[] getBytes() {
try {
return new String(charArrayWriter.toCharArray()).getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
return new String(charArrayWriter.toCharArray()).getBytes();
}
}


问题解决.

总结

遇到过N多次小问题,各种迷,但最后99%基本上都是后端埋的BUG。

因此遇到BUG没第一时间找到问题,还是要多从后端代码定位!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: