Использование Ajax для проверки изменений и внесения обновлений, только если произошли измененияPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Использование Ajax для проверки изменений и внесения обновлений, только если произошли изменения

Сообщение Anonymous »

В настоящее время я провел опрос на веб -сайте, над которым я работаю. Опрос должен быть изменен/сброшен, а также встроен на несколько страниц. Есть интерфейс администратора, который позволяет администратору изменять тему опроса и вопросы. Теперь, когда администратор изменяет вопросы опроса. Файл на сервере изменяется с 0 на 1 на 1 на 0, например: < /p>

Код: Выделить всё

$filename = "check";
$content = file_get_contents($filename, true);

if($content == 1) { $content = 0; }

else{ $content = 1; }

file_put_contents($filename, $content);
Страницы с встроенным опросом используют Ajax для проверки этого файла на наличие изменений каждые 5 секунд, и если файл проверки был изменен из его начального значения, он обновляет опрос с помощью функции getPoll .
function getPoll()
{
$('#pollo').show();
document.getElementById("poll").innerHTML="
Изображение
";
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("poll").innerHTML=xmlhttp.responseText;
if(document.getElementById("pollcheck").innerHTML=="")
{
$('#pollo').hide();
}
}
}
xmlhttp.open("GET","/poll/index2.html",true);
xmlhttp.send(null);

}

function checkpoll()
{
if (window.XMLHttpRequest)
{
xml=new XMLHttpRequest();
}
else
{
xml=new ActiveXObject("Microsoft.XMLHTTP");
}
xml.onreadystatechange=function()
{
if (xml.readyState==4 && xml.status==200)
{
check = xml.responseText;
}
}
xml.open("GET","../poll/check",true);
xml.send(null);
}

$(document).ready(function(){
//upon loading the page, get the current poll, and set the initial value of check and pcheck
getPoll();
checkpoll();
pcheck = check;
}

setInterval(function(){
//check the check page every 5 seconds, if check isn't set, set it, if check isn't equal to pcheck, grab the new poll
try{
checkpoll();
if(check == "")
{
checkpoll();
}

if(check != pcheck)
{
getPoll();
pcheck = check;
}
}

catch(Exception){
alert("ERROR, try refreshing");
}

},5000)
< /code>
Теперь это, кажется, работает довольно хорошо, но я знаю, что должен быть лучший метод для проверки изменений на сервере, а затем с вызовами запроса XML каждые x сумма секунды. Кроме того, если запрос XML не удается, иногда он может сломать обновляющий все вместе. http://lodeclaw.ardentforge.net/ Это веб -сайт, на котором в настоящее время работает опрос.

Подробнее здесь: https://stackoverflow.com/questions/180 ... s-occurred
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»