解决Node.js通过HTTP请求返回不完整的数据的问题
发布时间
阅读量:
阅读量
问题分析:
最初对接口返回结果进行解析时,所遇到的错误提示如下

【从错误提示可以判断,返回的数据内容并不完整,而后续JSON解析失败的错误信息也进一步佐证了这一情况。
通过这一现象可推断,服务器在数据传输过程中采用了Transfer-Encoding:chunk模式。在控制台中直接使用typeof进行输出验证后,确实发现返回了两段数据包,如下图所示(若使用抓包工具进行观察,会更加直观)。
----关于chunk的简要说明----
在HTTP/1.1协议中,仅存在一个用于标识分块编码传输的参数,即chunked。
由于分块编码传输方式仅需一个参数,因此只需设置Transfer-Encoding: chunked即可。之后便可将内容实体拆分为多个块进行传输。

这一点十分明确,若在数据拼接尚未完成时就贸然进行解析操作,必然会导致
全部评论 (0)
还没有任何评论哟~
