码迷,mamicode.com
首页 > Web开发 > 详细

关于Node.js中HTTP请求返回数据需要JSON解析的问题

时间:2017-12-15 22:34:45      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:处理   expect   请求   nbsp   记录   fun   大小   pos   +=   

在编写项目过程中,需要用到实时数据的推送需求, 所以首先想到了NodeJS的websocket模块

在网上找了一个聊天室的例子  然后将其改为自己需求的推送

 

其中遇到的问题

 

返回数据问题  :   由于对NodeJS不是非常熟悉  所以采用偷懒将数据处理等放在PHP后端处理   然后使用NodeJS进行请求   然后在这个过程中发现请求回的数据是ArrayBuffer   然后百度发现是因为需要JSON格式转换   所以又找到了JSON.parse()函数进行转换,刚刚开始的时候是非常好用的  但是后来发现了问题就是在数据量非常大的时候发现了  JSON.parse 报错误   

 

 Unexpected end of JSON input

 

经过各种寻找之后发现是   在请求的时候

req.on(‘data‘,function(data){

datas = JSON.parse(data)

})

 

这个过程是会分成两次进行执行    将返回的数据切割成等同大小的数据了  所以会出现解析问题    最后采用的解决办法

let datas = ‘‘;

req.on(‘data‘,function(data){

datas += data;

})

 

req.on(‘end‘,function(){

datas1 = JSON.parse(datas);

})

 

这样改过之后发现就可以了       

 

最后总结: 问题原因还是在于本人对NodeJS 不够了解   毕竟不是专业的     所以记录下来  希望以后不会忘记  计算忘记也可以找到解决办法

 

关于Node.js中HTTP请求返回数据需要JSON解析的问题

标签:处理   expect   请求   nbsp   记录   fun   大小   pos   +=   

原文地址:http://www.cnblogs.com/Gasg/p/8044889.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!