2012-04-12 11 views
5

ho questo codice:Come sopprimere l'errore SSL quando richiesta AJAX al server con certificato non valido

function newXMLHttpRequest() { 
    var xmlHttp; 
    try { 
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     try { 
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch (f) { 
      xmlHttp = new XMLHttpRequest(); 
     } 
    } 
    return xmlHttp; 
} 
var xmlHttp = newXMLHttpRequest(); 
xmlHttp.open("POST", url, true); 
xmlHttp.onreadystatechange = function() { 
    // this I have xmlHttp.status = 12019   
    alert("readyState = " + xmlHttp.readyState + "\nstatus = " + xmlHttp.status); 
} 
xmlHttp.send('same data'); 

Quando invio richiesta al server con il certificato non valido Ho errore con codice di stato 12019.

La soluzione deve essere cross-browser (IE, FF, Chrome)

risposta

1

Innanzitutto, per rispondere alla domanda nel titolo, questo non può essere fatto. Le librerie client xmlHttp non consentono al client di ignorare gli errori ssl. Lo MsXml2.ServerXMLHTTPobject consente di ignorare gli errori SSL con setOption(2, 13056)method. Tuttavia, questo oggetto non può essere utilizzato all'interno di un browser, né è multipiattaforma.

Detto questo, sembra che ci sia un altro problema. Lo stato 12019 non indica una certificazione non valida. Alcune varianti di un codice di stato HTTP 403 o uno dei tanti codici 'invalid certification' sarebbero previsti in quel caso.

tuo 12019 status code indica:

ERROR_INTERNET_INCORRECT_HANDLE_STATE

L'operazione richiesta non può essere eseguita perché il manico in dotazione non è nello stato corretto.

Purtroppo questo codice di stato in realtà non comunicare molto, e senza sapere che cosa versioni di IE, e dettagli sul server non c'è molto di più per andare avanti. Ho controllato un numero di post sul forum. One stated passaggio a IIS risolto il problema, another ha dichiarato che i file temporanei che non possono essere sovrascritti portano al problema. La maggior parte dei messaggi tuttavia non ha una conclusione soddisfacente o decisiva.

Problemi correlati