用ajax冲洗问题

我在我的php页面中使用了无限循环中的flush()函数,它每秒都回显一个文本。 当我在浏览器中打开页面时,它可以工作! 但是当我通过jquery ajax加载它时它没有响应!

php页面

  <?php if (ob_get_level() == 0) ob_start(); for ($i = 0; true/*$i<10*/; $i++){ echo "
Line to show. $i"; echo str_pad('',4096)."\n"; ob_flush(); flush(); sleep(1); } ob_end_flush(); ?>

jquery代码

 $.ajax({ url: 'res.php', beforeSend: function( ) { $('#mydiv').html('loading...'); }, success: function( data ) { $('#mydiv').html( data ); } }); 

使用$ .get无法完成HTTP-Streaming

插入如下: http : //ajaxpatterns.org/archive/HTTP_Streaming.php 。

     

HTTP流是一个非常复杂的黑客。 您应该考虑使用长轮询,而不是在每个浏览器中都可以使用。 似乎有一些解决方案 (幻灯片54)

简单的长轮询示例主题:

如何实施基本的“长轮询”?

 This video shows how to do long-polling: http://www.screenr.com/SNH 

PS:这肯定会杀死你的(性能不佳)服务器。 您应该查看http://pusherapp.com ,这对小型网站是免费的。

我说成功处理程序没有被调用,因为响应主体永远不会完全完成。