CNode

jquery ajax如何实现comet

Rromboo发布于12 年前最后回复12 年前11 回复9770 浏览0 收藏

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

查看回复

回复 (11)

R
romboo#1·12 年前
引用 littlehaker前端ajax请求/poll,每当取到数据或者超时后就再次请求。 后端维护一个消息队列,在处理/poll请求时,如果队列里有消息,则将消息队列的内容返回到前端,并清空队列。如果没有消息,则不做任...

@littlehaker 我要的并不是实时获取数据的解决方案哦,实时数据可以轮询或者socket.io,也可以自己写ajax去请求。嗯,就是想知道jQuery中的ajax请求,如何取得res.write的数据。

K
kingapple#2·12 年前
引用 gabacai81socket.io更合适吧

@gabacai81 这个是server端的,jq是前台的。。。

C
chuchangming#3·12 年前

write 怎么会收到,你没有end表示你服务端都没有处理完成,不会返回给浏览器的。

C
chrome10086#4·12 年前

不end的话 .没办法..

Y
yuenshui#5·12 年前

建议先去看看HTTP协议

G
gabacai81#6·12 年前

socket.io更合适吧

R
romboo#7·12 年前

socket.io当然好,但目前无法使用,ajax本身是有解决方案的,但jquery好像封装得太死

L
littlehaker#8·12 年前

前端ajax请求/poll,每当取到数据或者超时后就再次请求。

后端维护一个消息队列,在处理/poll请求时,如果队列里有消息,则将消息队列的内容返回到前端,并清空队列。如果没有消息,则不做任何操作,即这个请求一直处于pending状态。如果消息队列中读取到内容,则返回到前端。

后端其他地方需要通知前台的,把数据扔进消息队列即可

D
dlutwuwei#9·12 年前

阻塞的ajax,就是commet

R
romboo#10·12 年前
引用 dlutwuwei阻塞的ajax,就是commet

@dlutwuwei 我设置了timeout,但我收不到res.write 的数据,我知道ajax中如何获取,但jQuery不知道有没有

H
hainee#11·12 年前

big-pipe

参与回复
登录后即可参与回复。登录