2

私は彗星のプログラミングについて多くのことを読んでいましたが、この実装が可能かどうか考えています。

これは私のスクリプトです

$.ajax({
   url:"mypage.php",
   onProgress:{function(rsp){ //i know there is no such function like this
     $("#mydiv").append(rsp+"<br>");
   }}
});

これは私のmypage.phpです

<?php
    while(true){
    ob_start();
      echo time();
    ob_flush();
    }
    ?>

今私が欲しいのは、私のajaxリクエストが進行中に結果を取得することです。これは可能ですか?

4

2 に答える 2

1

あなたが時間をつかむことだけを探しているなら、これがそれを行うためのポーリング方法です。リソースを使用して無限ループが発生するのはなぜですか。

<?php
//polling.php
if(isset($_GET['poll']) && $_GET['poll']=='1'){
$out = array('thetime'=>date("F j, Y, g:i:s a")); 
echo json_encode($out);
die;
}
?>


<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
function poll(){
   setTimeout(function(){

      $.ajax({ url: "http://localhost/polling.php?poll=1",cache: false,
      success: function(data){
      //Do something with returned json
      $("#time").replaceWith("<p id=\"time\">The Server Time & Date is: "+ data.thetime +"</p>");
        //Next poll
        poll();
      }, dataType: "json"});
     // 1/2 a sec
  }, 500);
}

$(document).ready(function(){
    poll();
});
</script>

<p id="time">The Server Time & Date is: <?php echo date("F j, Y, g:i:s a");?></p>
于 2012-04-26T06:44:34.923 に答える
1

このことが起こるためには、彗星のテクニックを使用する必要があります....参照してください

Ajax 呼び出しの進行状況を表示する最良の方法は何ですか?

于 2012-04-26T06:25:27.377 に答える