node.js一直吐数据,即res.write(‘xxx’),但不res.end() $.ajax能收到并实时显示到页面不,或者需要别的办法?
socket.io更合适吧
socket.io当然好,但目前无法使用,ajax本身是有解决方案的,但jquery好像封装得太死
前端ajax请求/poll
,每当取到数据或者超时后就再次请求。
后端维护一个消息队列,在处理/poll
请求时,如果队列里有消息,则将消息队列的内容返回到前端,并清空队列。如果没有消息,则不做任何操作,即这个请求一直处于pending
状态。如果消息队列中读取到内容,则返回到前端。
后端其他地方需要通知前台的,把数据扔进消息队列即可
阻塞的ajax,就是commet
@dlutwuwei 我设置了timeout,但我收不到res.write 的数据,我知道ajax中如何获取,但jQuery不知道有没有
@littlehaker 我要的并不是实时获取数据的解决方案哦,实时数据可以轮询或者socket.io,也可以自己写ajax去请求。嗯,就是想知道jQuery中的ajax请求,如何取得res.write的数据。
@gabacai81 这个是server端的,jq是前台的。。。
write 怎么会收到,你没有end表示你服务端都没有处理完成,不会返回给浏览器的。
不end的话 .没办法…
建议先去看看HTTP协议
big-pipe