antonhristovsky
New Member
- Регистрация
- 15.02.2012
- Сообщения
- 4
Натолкните, пожалуйста, на мысль. Как реализовать проверку каждые 2 секунды на наличие нового личного сообщения?
Заставить функцию выполняться через определенное время можно с помощью setInterval(code,millisec,lang)(JavaScript).
Как сказала википедия: Kohana - это PHP5 веб-фреймворк. PHP - это на сервере, те он здесь нипричем. А JS и AJAX - это у клиента,то, что тебе надо... Надо делать запрос каждые две секунды наподобии того, что был сделан единожды (при загрузке страницы).Смотрите. Я работаю в Kohana3.
window.setInterval(function() { $("#counter").load("/moduls/counter.php"); }, 3000);
А на JS можно как-то?например на Жкувэри (Jquery)
в counter.php проверяешь новые сообщения в таблице.Код:window.setInterval(function() { $("#counter").load("/moduls/counter.php"); }, 3000);
Но такой подход плохое решение, нагрузка не сервер.
var xmlHttp;
if (window.ActiveXObject) {
try {xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e) {
xmlHttp = false;
}
} else {
try {xmlHttp = new XMLHttpRequest();}
catch(e) {
xmlHttp = false;}
}
if (!xmlHttp) alert("ERROR XMLHttpRequest.");
else
return xmlHttp;
function process() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
xmlHttp.open("GET", "new_letters.php", true);
xmlHttp.send(null);
xmlHttp.onreadystatechange = function() {
textResponse = xmlHttp.responseText;
document.getElementById("new").innerHTML = "Новых сообщений " + textResponse;}
setTimeout('process()', 3000);
} else {alert("ERROR IN REQUEST TO SERVER!!!" + xmlHttp.statusText);}
}
}