Ajax Asynchronous in IE - Error "The Data Necessary to Complete This Operation is Not Yet Available"

15,863

Ho humm

Outside of the onreadystatechange function I had a call for responsetext to check whether it existed yet, but aparently you can't do that if it doesn't exist yet so I just had to restructure some thigs. All is okay but this was the script that caused the problem

ajaxRequest(){
    [...]
}
if(xmlhttp.responseText){
    myFunc();
}
Share:
15,863
user3607601
Author by

user3607601

Cool cat!

Updated on June 04, 2022

Comments

  • user3607601
    user3607601 almost 2 years

    I have a 100% valid Ajax model written in Javascript with a few inputs I use being, Get or Post method, What page to communicate with, What String to send to that page and What element on my own page I might be fiddling with when I receive my response. The problem is that, should I set the request to Asynchronous (Hence Ajax), IE returns the error "The Data Necessary to Complete This Operation is Not Yet Available" in the onreadystatechange event where all I do is check if the readystate is 4 and the status is 200. The error doesn't come up in Firefox or Chrome as I would exepect as the Ajax is Asynchronous.

    Heres a snippet from the Post method

    xmlhttp.open("POST", commPage, true);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            j = xmlhttp.responseText;
            i.innerHTML = j;
        }
    }
    xmlhttp.send(str);
    

    Edit: I should point out that in IE, I'm using the ActiveX Control -> Msxml2.XMLHTTP or Microsoft.XMLHTTP or whichever returns true first.