Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IE 9 Javascript error c00c023f

I came across this error only on IE9:

SCRIPT575: Could not complete the operation due to error c00c023f.

The error happened on this line: if ((a.responseXML) && (a.readyState==4)) {

I cant figure it out why this happened, and it seems to work very well in other browsers.

and this is my javascript code:

var a = new XMLHttpRequest();
a.open("GET",'/cust/ajax/getresult.php?qk=nnf87&arg1='+pzid,true);
a.onreadystatechange = function () {
    if ((a.responseXML) && (a.readyState==4)) {
        var N = a.responseXML.getElementsByTagName('result')
        sequence = N[0].firstChild.data;
        var SEQ = sequence.split(",");
        var num = SEQ.length;
                    var sum = 0;
                    for(var n=0;n<num;n++){sum = sum + (SEQ[n]*1);}
        //document.getElementById("the_number_of").innerHTML = sum;
        var date = new Date();
        date.setTime(date.getTime()+(2*60*60*1000));
        document.cookie='cpa_num='+sum+'; expires= '+date.toGMTString()+'; path=/';
    }

}
like image 613
peipei Avatar asked Sep 02 '11 18:09

peipei


1 Answers

Switch the

if ((a.responseXML) && (a.readyState==4))

to

if ((a.readyState==4) && (a.responseXML))

As the order matters. it seems that on IE9 if the state is not 4, the responseXML and reponseText yield this error if being accessed (I have no clue why...)

like image 140
Ran Cohen Avatar answered Sep 28 '22 19:09

Ran Cohen