2013-05-09 58 views
1

我需要读取将写入我的浏览器的字符串,只需要5秒钟内写入5个字符,以便在写入时恢复其值。在浏览器上读取字符串

这里是我的代码在PHP写:

set_time_limit(0); 
     // $this->layout = null; 
     $i = 0; 
     for($i; $i<10;$i++){ 
      echo 'Line '.$i."\n"; 

      flush(); 
      ob_flush(); 
      sleep(3); 
     } 
     echo 'LOOL'; 

现在,我该如何使用jQuery或其它溶液读呢?

+2

'id =“test”'会重复! – 2013-05-09 19:05:32

+0

我知道它只是一个测试。但是我不能读取字符串的值,而没有完成。 – Kefka 2013-05-09 19:08:01

+0

@TamasPap我得到了一个字符串的值,而不是生成的html; – Kefka 2013-05-09 19:09:11

回答

1

在JQuery的,你需要使用DOM风格的阅读内容,你可以将结果变成这样的事情:

echo "<div id='myid".$i."'></div> 

现在这个代码是可读的jQuery,然后在JQuery中可以接触到这个ID代码如下:

+0

嗯,但在我的“for”会产生10行。而且我需要按照写入的内容来获取每一行,而不是在执行结束时。如果有3秒钟的睡眠。每3秒我应该有一条线。如何在写入另一个之前获得它? – Kefka 2013-05-09 19:28:21

+1

Aha,所以你应该改变你的代码,这不是一个好的方法来使用这样的PHP,你可以使用AJAX,并在客户端每3秒做一次,然后用AJAX获取结果,如果你有服务器端内容。我希望我能理解你的问题。 – 2013-05-09 19:41:22

1

PHP是服务器端代码。一旦它被发送到客户端,它就不能再更新页面,并且它返回整个页面作为HTML页面生成。

这意味着它不会echo es 任何东西在完成请求之前。

(在这种情况下)它需要30秒的时间php echo es 10行

如果你想这样做,就像@Mehdi Hosseini所说的,你必须每3秒钟创建一个Ajax请求,并在请求后显示你的响应。