JSON对象无法使用,因为它已流入?

参考背景

对这种流可读语法有点困惑

目前的情况是我在express中使用res.write来写出使用JSON.Stringify慢慢流式传输的json对象。

app.get('/:foo', function (req, res) { var connection = new sql.Connection(config, function(err) { var request = new sql.Request(connection); request.query(---SQL QUERY---); res.header("Content-Type", "application/json; charset=utf-8"); res.header("Cache-Control", "max-age=3600"); res.write("["); request.on('row', function (data) { res.write(JSON.stringify(data)+","); )}; request.on('done', function () { res.write("]"); res.end(); }); 

这大致是我使用的语法,

标题来得很好,

 HTTP/1.1 200 OK X-Powered-By: Express Access-Control-Allow-Origin: * Content-Type: application/json; charset=utf-8 Cache-Control: max-age=3600 Date: Fri, 22 Aug 2014 13:08:34 GMT Connection: keep-alive Transfer-Encoding: chunked 

这个调用是通过AJAX调用和Oboe调用完成的 。 问题是即使这个JSON在我的网络中显示为状态200,我根本不能使用它。 双簧管发出故障,AJAX也发出故障。

一位朋友说这可能与DOM计时有关,但无法解释它,他只是说他知道有时他的开发人员会把这个电话包围在一个

所以它会在dom里面呈现并留下来? 我真的不明白他的意思。

我应该使用像jQuery Stream这样的东西吗?

以前当我在回调中使用我的JSON时,它正在加载AJAX调用,但是将流中的对象写入res似乎会导致它中断?

弄清楚了,

我的JSON正在添加一个尾随逗号。

虽然浏览器不关心尾随的逗号并且会很好地读取对象,但是AJAX Call和Oboe.js Call只是意外失败了]