1
私は変数 "dateposted"を送信してthread.phpにajax呼び出しを行うindex.phpページを持っています。 thread.phpは、index.phpでループされているjsonを返し、最後の値はajax呼び出しに再度送り返されます。すべてこれはうまく動作します。 はしかし、私が直面している問題は、私がこれを行うと、私のAJAX呼び出しで返された応答はこれとJSON配列の私のループをスローJSONの結果が含まれてajaxを使用して更新ページからjsonを取得します
<meta http-equiv="refresh" content="2">
を使用して自動更新でthread.php置くときでありますオフ。上記のコードを削除するには、サーバからのデータをポーリングするためにthread.phpが常にリフレッシュされている必要があります。どのように私はこの問題を回避します:参考
:
のindex.php
<meta http-equiv="refresh" content="2">
if(!isset($_GET['dateposted']))
{ $lastpost = 0;
}
else
{$lastpost= $_GET['dateposted'];}
$latestmsgs = retrieveNewMsgs($lastpost,$currtime);
?>
<?php echo json_encode($latestmsgs);?>
thread.php
var returnValue = (function() {
var dateposted = null;
return function() {
$.get("thread.php", { "lastMessage": dateposted }, function(result) {
if(result) {
for (var i = 0, len = result.length; i < len; i++) {
var msgs = result[i];
var newDiv = $("<div><img src='" + msgs[0] +"'/>" + msgs[2] + msgs[3] + msgs[4] + msgs[5] + "</div><br>");
$('#chatContents').append(newDiv);
}
}
dateposted = result[result.length-1][5];
}, "json");
}
})();
ので、代わりの私はthread.phpでのsetInterval関数を使用しますか? –
@coding_newbie、はい。 –
私はどこでエラーを起こしているのか分かりました。私は配列のnullポインタの例外をキャッチしていたwasnt。それで、それは0に戻りました。そしてリスト全体を再び返します。それは爽やかではなかったからだと思った。助けてくれてありがとう –