2012-03-03 9 views
1

ページの更新を行わずに新しいコンテンツを自動ロードする方法を知りたいと思います。たとえば、以前のtwitterの傾向では、関連するトレンドコンテンツを投稿したときに、ページロードなしで新しく送信されたコンテンツが自動的に読み込まれます。それは常に、クライアントを必要とするためphp jquery auto load content

var auto_refresh = setInterval(function() { 
     $('#myLinks').load('http://domain.com/link/loadlatestnews').fadeIn(2000); 
    }, 400); // refresh every 400 milliseconds 

が、これは良いアイデアです:

iは、例えば、いくつかの方法、(プル方式)、私のjavascriptので、私はFRM SQLクエリをロードするように間隔を設定しますを試してみましたSQLから400ミリ秒ごとにロードしようとしています。

プッシュメソッドを使用すると、mysqlに新しいコンテンツがある場合、イベントコールバックを設定できますか?

答えて

0

は、あなたが今何をしているか、このように自動リフレッシュ

<script type="text/javascript" src="../js/jquery.min.js"></script> 
     <script type="text/javascript"> 
      // setTimeout(function(){ window.location.reload(); }, 2000); 

       $.ajax({ 
       success:function(){ 
        setTimeout(function(){ window.location.reload(); }, 2000) 
       } 
       }); 

     </script> 
+0

彼はページの再読み込みを要求していません。x分ごとにajax経由でページのコンテンツを更新する方法を求めています。 – Shaheer

+0

はい、私はページリフレッシュにのみajaxを使用しました。 –

+0

not page reload ajaxはこれをリフレッシュにします、 –

2

は良いアイデアですが、それはあまり強力でない場合は、サーバーごとに400のMSをポーリングしません。また、各リクエスト時にサーバーに最後の終了日を送信して、その日付以降に来たコンテンツのみを読み込み、すべての要求ごとに毎回新しい最終日を返します。サーバーが新しいレコードを持っているかどうかをチェックし、そうであれば機能を起動することができます。

+0

うーん、それは良い方法です。私はそれほど多くのリソースを消費しません。私はあまりにも多くのmysqlの負荷は、CPUの負荷が高い原因であることに気づいた – nuttynibbles

+0

こんにちは、私はQ.同じタイムスタンプのr 2レコードがあれば..どのようにレコードを取得するのですか?私のSQLクエリは次のとおりです。SELECT * FROM 'records' WHERE 1 AND dateTimeSubmitted> 1330754710 ORDER BY dateTimeSubmitted LIMIT 1 – nuttynibbles

+0

両方が自動的に返されます。 – Shaheer

0

です。サーバーソフトウェアにアクセスしたかどうか。あなたがそれを設定しても構わないとしたら?あなたが必要なもの

は彗星サーバーです:http://en.wikipedia.org/wiki/Comet_(programming)

しかし、あなたのサイトが大きくない場合は、現在使用しているとあなただけのタイミングポーリング技術を使用することができます。間隔を長くするだけです。短くする方法は400msです。また、Shaheerが提案したようにSQLを最適化しようとします。