我使用服务器发送的事件来对您的数据库执行查询。服务器使用stats
事件实时流式传输统计信息,执行查询时,会发送带有数据的result
事件并关闭连接。
您可以使用此curl命令对其进行测试:
curl 'http://rakam-production-webapp-203653584.us-east-1.aws.getrakam.com/query/execute?read_key=l2drg09t1j04poki16q46nsa7qvjdjhsedcml0e9m8sd87h6olkevq8b7m3m6948&data=%7B%22query%22%3A%22SELECT%20*%20FROM%20collection.%5C%22pull_request%5C%22%22%2C%22limit%22%3A1000%7D' -H 'Accept: text/event-stream'
问题是数据超过几千字节,EventSource不会触发result
事件。
http://jsbin.com/jiteca/edit?html,output
如果数据不是那么大,它可以正常工作:
http://jsbin.com/leginu/edit?html,output
我尝试过使用Chrome,Safari和Firefox,但所有人都遇到了这个问题。有关如何解决这个问题的任何想法?这是服务器发送事件的限制,因为我在server-sent specification on W3上找不到任何内容吗?
答案 0 :(得分:1)
我几乎可以肯定你的问题是服务器端,而不是浏览器的问题,或者他们的SSE实现。当我测试你的curl命令时,它会突然结束:
...null,null,null],["2016-08-30T14:08:03Z","MichMich",
(每次运行略有不同。)
不只是格式错误的JSON,而且没有双LF。我的猜测是您的Web服务器进程已崩溃,或者您的后端脚本已崩溃。看看日志?或者如果不是崩溃,那么一些缓冲区已经填满。 (该消息看起来只有超过313,000个字节,这不会响起任何铃声。)
您没有为服务器端语言或网络服务器标记任何内容,因此除此之外很难猜测。