是否可以在响应完成之前读取AJAX请求?

hug*_*hes 10 html javascript ajax jquery json

我有一个ajax请求,需要一段时间才能完成,但服务器确实输出了一些内容.如果我只是在浏览器中加载请求,我可以看到页面缓慢加载,它可以随时停止.是否可以在服务器关闭响应之前访问不完整的ajax请求?

And*_*rew 6

实现此目的的方法是通过侦听xhr对象中的readyState.当readyState == 3时,表示新内容已到达,您可以访问它.该技术被称为Comet.

但请注意,不同的浏览器在此处的行为不同,IE将不允许您访问它.请参阅此处和webkit浏览器(Chrome/Safari)缓冲2KB的数据,然后再将其提供.在考虑到这一点后,您可以听取更改然后对其采取行动.

不幸的是,jQuery目前不支持这种开箱即用.你可以解决这个问题,如Bug#8327所述,它们基本上回退到readyState上的轮询以查看它是否发生变化.他们计划在未来做一些事情,Bug#9883,但不要屏住呼吸.

所以最后,是的,这是可能的,不是不容易.