Empty responseText from XMLHttpRequest
        Posted  
        
            by PurplePilot
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by PurplePilot
        
        
        
        Published on 2009-12-21T17:05:18Z
        Indexed on 
            2010/04/11
            12:53 UTC
        
        
        Read the original article
        Hit count: 919
        
I have written an XMLHttpRequest which runs fine but returns an empty responseText.
The javascript is as follows:
  var anUrl = "http://api.xxx.com/rates/csv/rates.txt";
  var myRequest = new XMLHttpRequest();
  callAjax(anUrl);
  function callAjax(url) {
     myRequest.open("GET", url, true);
     myRequest.onreadystatechange = responseAjax;
                 myRequest.setRequestHeader("Cache-Control", "no-cache");
     myRequest.send(null);
  }
  function responseAjax() {
     if(myRequest.readyState == 4) {
        if(myRequest.status == 200) {
            result = myRequest.responseText;
            alert(result);
            alert("we made it");
        } else {
            alert( " An error has occurred: " + myRequest.statusText);
        }
     }
  }
The code runs fine. I can walk through and I get the readyState == 4 and a status == 200 but the responseText is always blank.
I am getting a log error (in Safari debug) of Error dispatching: getProperties which I cannot seem to find reference to.
I have run the code in Safari and Firefox both locally and on a remote server.
The URL when put into a browser will return the string and give a status code of 200.
I wrote similar code to the same URL in a Mac Widget which runs fine, but the same code in a browser never returns a result.
© Stack Overflow or respective owner