2012-03-08 2 views
1

Я сделал простой скрипт чата с помощью JQuery и AJAX, но огромную дыру в нем, что я могу общаться только с себе должным образом: Pпостоянно освежать Аякса

Херес 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;}); 
}); 

и мой второй Heres файл «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», так что пользователи могут общаться в режиме реального времени без обновления страницы ... любой ж ай вокруг этого?

+0

Я столкнулся с этим, делая часы. Лемм выкопал этот код для вас. –

+1

http://thedogsbolloxs.com/clock.html проверить js там некоторые идеи о том, как сделать интервал ajax-вызов. –

ответ

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

Будьте осторожны делая слишком запросов к серверу. Это будет довольно интенсивным.

2

Если вы хотите получить кровоточащий край, вы должны изучить WebSockets.

+0

Спасибо за эту ссылку. – b01

Смежные вопросы