jquery ajax如何实现comet
发布于 7 年前 作者 romboo 7190 次浏览 最后一次编辑是 5 年前

node.js一直吐数据,即res.write(‘xxx’),但不res.end() $.ajax能收到并实时显示到页面不,或者需要别的办法?

11 回复

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协议

回到顶部