У меня проблема с моим AJAX, где он не работает в IE, но работает в FF. Я получил большую часть следующего кода с сайта w3schools, так что я не понимаю, почему это будет неправильно. Может кто-нибудь мне помочь?
<script type="text/javascript">
function checkRefresh(str)
{
if (str=="") {
document.getElementById("lastCallID").innerHTML="";
return;
}
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) {
if (document.getElementById("lastCallID").innerHTML < xmlhttp.responseText) {
GoPopUp();
} else {
setTimeout('checkRefresh()',15000)
}
}
}
xmlhttp.open("GET","getnewid.php",true);
xmlhttp.send();
}
</script>
СПАСИБО! * * 1004
РЕДАКТИРОВАТЬ: Насколько я могу судить, он не работает в IE6 -8. Основная идея заключается в том, что ajax вызывает скрипт, который запускает страницу php, которая получает самый последний идентификатор в базе данных. Затем он сравнивает идентификатор со страницы php с идентификатором на главной странице. Если идентификатор из запроса Ajax больше, чем на странице, он запускает функцию, которая запускает всплывающее окно jquery, чтобы предупредить пользователя о наличии новой записи в базе данных и дать ему возможность обновить. в IE 6,7,8 Это всплывающее окно никогда не запускается, поэтому я могу только представить, что ajax не работает правильно, чтобы получить новый идентификатор. Функция обновления работает, когда я ее вызываю, поэтому я думаю, что проблема в ajax. Но если вам интересно, вот функция GoPopUp
var GoPopUp = function(){
$('#PopNewCall').fadeIn('slow');
PageRefreshTimer();
}
//Function which refreshes page after a certain number of seconds with no user Inputs
var PageRefreshTimer = function(){
setTimeout("location.reload(true);",30000); //1,000 = 1 second
}
//Function which refreshes page after user has clicked refresh
var RefreshNow = function(){
setTimeout("location.reload(true);",0);
}