2012-03-08 101 views
1

我一直在使用jQuery和AJAX,但巨大的洞。這是我只能用自己正確的聊天做了一個簡單的聊天腳本:P不斷刷新AJAX

繼承人我的主文件的JavaScript

<script src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 

$("#status").load('ajaxLoad.php'); 
$("#userArea").submit(function(){ 
    var hr = new XMLHttpRequest(); 
var id = '<?php echo $id; ?>'; 
var name = '<?php echo $name; ?>'; 


var url = "ajaxPost.php"; 
var msg = document.getElementById("messages").value; 


var vars = "messages="+msg+"&id="+id+"&name="+name; 
hr.open("POST", url, true); 

hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
hr.onreadystatechange = function() { 
    if(hr.readyState == 4 && hr.status == 200) { 
     var return_data = hr.responseText; 
     $("#status").append(return_data); 
    } 
} 
hr.send(vars); 
return false;}); 
}); 

和繼承人我的第二個文件「ajaxLoad.php」

<?php 
include_once "connect_to_mysql.php"; 
$sql = mysql_query("SELECT messages,id FROM chat"); 
while($row = mysql_fetch_array($sql)) 
    { 

echo $row["messages"]; 


    } 
    ?> 

現在我需要的是持續刷新「ajaxLoad.php」,使用戶可以實時聊天,而無需刷新頁面...任何WA在這附近?

+0

我在製作時鐘時遇到了這個問題。 Lemme爲你挖掘該代碼。 – 2012-03-08 20:55:38

+1

http://thedogsbolloxs.com/clock.html檢查了一些關於如何做間隔ajax調用的想法。 – 2012-03-08 20:56:49

回答

5
// reload every second 
setInterval(function() { 
    $("#status").load('ajaxLoad.php'); 
}, 1000); 

小心製作得請求到服務器。這將是相當密集的。

2

如果你想得到流血的優勢,你應該看看WebSockets

+0

感謝您的鏈接。 – b01 2012-03-09 13:51:23