Im пытается настроить перенаправление для скрипта чата. Если чат остается без ответа после x времени, страница будет перенаправлена.Ajax Timed Event Redirect
Я вчера задал вопрос о том же, но в то время, когда я мало знал о JS, я пытался смешивать php с js. Я изменил тактику.
Вот что я получил до сих пор:
function opCheck()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Your browser does not support XMLHTTP!");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
opCheck();
// alert('working2');
}
}
opjoined = "newchattimer.php";
xmlhttp.open("GET",opjoined,true);
xmlhttp.send(null);
}
function opResult()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Your browser does not support XMLHTTP!");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
//alert('state = 4');
var op = xmlhttp.responseText;
}
}
ajaxurl = "ajaxfiles/opAnswer_12.txt";
xmlhttp.open("GET",ajaxurl,true);
xmlhttp.send(null);
}
setTimeout(function() {
opCheck();
opResult();
//alert(op);
if (op == 'n') window.location.replace("chatnoop.php");
}, 3000);
Это не создает текстовый файл должным образом, но в конечном счете не редирект. Я использовал хром-девелоперский инструмент и никаких ошибок. Я также попробовал alert(op);
, чтобы узнать, будет ли результат схвачен, но я не получаю предупреждения.
Что не так с этим кодом?
Спасибо.
Он запускает некоторые php для проверки БД, чтобы узнать, принял ли оператор запрос чата. Если оператор присоединился к чату, то переадресация не производится. Так что это динамичная ситуация. Я думал, что ajax будет лучшим способом. – Sabyre
Затем вам нужно либо добавить успешный обратный вызов каких-либо ролей, либо просто перенести перенаправление в нужную область. Добавлен код выше. – adeneo
Большое вам спасибо, с вашей помощью это действительно имело смысл! Оно работает! – Sabyre