2012-03-16 7 views
1

divを更新するsetintervalコードがあります。これは、同じシステム上の2つの別個のブラウザでテストしたときにうまく動作しますが、別のmacとPCをオンラインでテストして停止すると、正常に動作します。次のようにsetIntervalは同じシステムでオンラインで動作します(ブラウザは2つありますが、別のシステムではオンラインではありません)

コードは次のとおりです。 -

Javascriptを:

function setupAjaxIntervalDiscuss(){ 
    setInterval(function() 
    { 
    var datastring = 'refreshchat=true&projid=' + proj_id + '&uid=' + uid; 
    ajaxUpdateDiscussion(datastring); 
    }, 2000); 
    } 

    function ajaxUpdateDiscussion(ajaxdata){ 
    $.ajax({ 
     type: "POST", 
     url: "uploaddata.php", 
     data: ajaxdata, 
     success: function(data){ 
     $("#discussresult").html(data); 
     refreshNav();//Updating a scrollbar styled with JS 
        } 
     }); 
    } 

PHP(正確にちょうどここに参照のために、このアップデート):私は理解して

if(isset($_POST["refreshchat"])){ 
$user_id= $_POST['uid']; 
$proj_id=$_POST['projid']; 
echo '<img class="closeddiscuss" src="images/closey.png" title="close" alt="close"/>'; 
    $get_discuss_query = "SELECT * FROM discuss INNER JOIN user ON discuss.user_id=user.user_id 
         WHERE discuss.project_id=$proj_id ORDER BY discuss_id DESC"; 
         $get_discuss_result=mysql_query($get_discuss_query); 
         while($row=mysql_fetch_assoc($get_discuss_result)){ 
         $text = nl2br($row['discuss_text']); 
         $name = $row['user_name']; 
         $user_profileimageurl = $row['user_profileimageurl']; 
         echo '<div class="discussbubble"><p>'.$text.'</p><img class="smallprofileimage" src="'.$user_profileimageurl.'" alt="user profile image"/> by '.$name.'</div>'; 
         } 
    } 
+0

セッションのコントロールを参照してくださいテストするために、同じUIDを使うのか?そうでない場合は、コンソールでどのようなエラーが表示されますか? –

+0

別のシステムコンソールでFirebugを設定するだけで、Macにエラーは発生しません。 pcにしばらくお待ちください。 – ChrisSherwood

+0

エラーはありません。間隔はAJAXで正常です。しかし、ページの内容はちょっと変わっていません。アップデートは私が他のどこかでそれをやっている沼地の標準的な方法として更新する投稿にのみ来る – ChrisSherwood

答えて

0

ページではないこと更新する。多分それはキャッシュされますか?試してみてください:

function ajaxUpdateDiscussion(ajaxdata){ 
    $.ajax({ 
     type: "POST", 
     url: "uploaddata.php?t=" + Math.random(), 
     data: ajaxdata, 
     success: function(data){ 
     $("#discussresult").html(data); 
     refreshNav();//Updating a scrollbar styled with JS 
     } 
    }); 

}

+0

歓声が上に見える! – ChrisSherwood

0

をあなたは私はあなたがテストするために、すなわち使用だと思うので、それは一度成功を更新すると言うので、------
これを試してみてください?

function setupAjaxIntervalDiscuss(){ 
    setInterval(function(){ 
     ajaxUpdateDiscussion({ 
      refreshchat:true, 
      projid:proj_id, 
      uid:uid, 
      rand:Math.random() 
     }); 
    }, 2000); 
} 

function ajaxUpdateDiscussion(ajaxdata){ 
    $.post("uploaddata.php", ajaxdata, function (data) { 
     $("#discussresult").html(data); 
     refreshNav();//Updating a scrollbar styled with JS 
    }) 
} 

またはそれは新しい、追加したシステム上のすべてで動作しますあなたはとても

+0

ありがとう、それを試してみましょう。 – ChrisSherwood

関連する問題