1

ヘッドタグの間にこのJavascriptコードがあります

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> 
<script> 
var auto_refresh = setInterval(
function()
{
$('#loaddiv').fadeOut('slow').load('reload.php').fadeIn("slow");
}, 1000);
</script>

そして div は次のようになります:

<div id="loaddiv"> 

<div style="float: left; width:868px; height:635px; border:2px solid #000; overflow:auto;">
 <?php 
 index_table();
 ?>
</div>

</div>

index_table();MySQLデータベースのテーブルからレコードを出力する関数です。新しいレコードがこのテーブルに挿入されるたびに、現在は更新し続けているためdiv(または常に点滅しているが新しいレコードが存在しないため)、自動的に表示されるはずです。

問題は、挿入されている新しいレコードが表示されないことです。これを行う唯一の方法は、単にページを更新することです (更新ボタン - Google Chrome )。

上記のコードの何が問題になっていますか?

4

3 に答える 3

1

PHP コードはサーバー側で実行され、fadeOut/fadeIn はクライアントで実行されます。ページを更新するために、ajax を使用するか、setInterval 内に window.load() を挿入して、これを行う必要があります。

于 2012-09-10T18:41:44.083 に答える
1

次のように .load のコールバック関数にアラートを設定してみましたか:

$('#loaddiv').load('reload.php', function() {
  alert('Load was performed.');
});

reload.php が正しくロードされていることを確認するには?

于 2012-09-10T18:42:54.183 に答える
1

jQuery の .get および .html メソッドを使用してデータを更新することをお勧めします。.get は結果セットを取得し、.html は結果セットを表示します。

http://api.jquery.com/html/

于 2012-09-10T18:42:57.903 に答える