AJAX: Won't connect in AOL, but works in all other browsers

Discussion in 'JavaScript' started by GoldFire, May 28, 2006.

  1. #1
    I have made a very simple script with AJAX to pull data from another page, and check it every second to see if it has updated. It works fine in IE, FF, Opera, etc, but the loading graphic never goes away on AOL.

    
    <script type="text/javascript">
    
    function ajax_request2(url) {
    	http_request2=false;
    	if (window.XMLHttpRequest) {
    		http_request2=new XMLHttpRequest();
    			if (http_request2.overrideMimeType) {
    				http_request2.overrideMimeType('text/xml');
    			}
    	} else if (window.ActiveXObject) {
    		try {
    			http_request2=new ActiveXObject("Msxml2.XMLHTTP");
    		} catch(e) { 
    		try{
    			http_request2=new ActiveXObject("Microsoft.XMLHTTP");
    		} catch(e) {}
    	}
    }
    if(!http_request2) {
    alert('Error: Connection failed.');
    return false;
    }
    http_request2.onreadystatechange=alertContents2;
    http_request2.open('GET',url,true);
    http_request2.send(null);
    }
    
    function alertContents2() {
    	if(http_request2.readyState==4) {
    		if(http_request2.status==200){
    			rec_content(http_request2.responseText);
    		} else {}
    	}
    }
    
    waittime=1000;
    intUpdate=window.setTimeout("read_cont()", waittime);
    document.getElementById('flop').innerHTML = "<img src=\"http://www.rubynoob.com/images/spinner.gif\">";
    
    	function display_msg(msg1) {
    		document.getElementById('flop').innerHTML = msg1;
    	}
    
    	function rec_content(cont1) {
    		if (cont1 != "") { 
    			out1 = "";
    			out1 = unescape(cont1);
    			if (document.getElementById('flop').innerHTML != out1) { display_msg(out1); }
    			intUpdate=window.setTimeout("read_cont()", waittime);
    		}
    	}
    
    	function read_cont() { 
    			zeit = new Date();
    		   ms = (zeit.getHours() * 24 * 60 * 1000) + (zeit.getMinutes() * 60 * 1000) + (zeit.getSeconds() * 1000) + zeit.getMilliseconds();
    		ajax_request2("load_stuff.php?id=flop&x=" + ms); 
    	}
    	function keyup(arg1) { 	if (arg1 == 13) { 	submit_msg(); } }
    </script>
    
    Code (markup):
    You can view the page at http://pokerrpg.com/p/test2.php.
     
    GoldFire, May 28, 2006 IP
  2. GoldFire

    GoldFire Peon

    Messages:
    51
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Okay I figured it out. The flickering was because the text it was comparing was getting changed for some reason so it reloaded each time, but I just changed the format of it and it stayed the same and only reloaded the image when there was a new one.

    For AOL, I recoded the connection part, and not sure why, but that fixed it.

    
    var http_request2=false;
    var intUpdate;
    
    function ajax_request2(url) {
    try {
      http_request2 = new XMLHttpRequest();
    } catch (trymicrosoft) {
      try {
        http_request2 = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (othermicrosoft) {
        try {
          http_request2 = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (failed) {
          http_request2 = false;
        }
      }
    }
    
    if(!http_request2) {
    alert('Error: Connection failed.');
    return false;
    }
    http_request2.onreadystatechange=alertContents2;
    http_request2.open('POST',url,true);
    http_request2.send(null);
    }
    
    Code (markup):
     
    GoldFire, May 30, 2006 IP