I’m having this problem with my AJAX, where it’s not working in IE, but it is working in FF. I got a majority of the following code off the w3schools website, so I don’t see why it would be wrong. Can anyone help me out?
<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>
THANKS!
EDIT: As far as I can tell, it’s not working in IE6 -8. Basically what the idea is, is that the ajax calls a script which runs a php page which gets the most recent ID in a database. Then it compares the ID from the php page, to the ID on the main page. If the ID from the Ajax request is greater than what is on the page, then it starts a function which starts a jquery popup to alert the user that there is a new database entry and gives them the option to refresh. in IE 6,7,8 That popup never starts, so I can only imagine that the ajax is not working correctly to grab the new ID. The refresh function works when I call it, that’s why I think it’s the ajax that’s the issue. But in case you’re curious, here is the GoPopUp function
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);
}
For a simple cross-browser solution, I would suggest using jQuery.
jQuery AJAX API can be found at http://api.jquery.com/jQuery.ajax/