Ho colpito un muro con questo problema. Immagino sia una specie di bug di IE, ma voglio esserne sicuro.XmlHttpRequest stato 0 anziché 401 in IE 10
Quindi la domanda è. Perché IE10 XmlHttpRequest.status restituisce 0 invece di 401?
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4)
{
document.getElementById("rescode").innerHTML="Request completed with status: "+xmlhttp.status;
}
}
xmlhttp.open("GET","http://hosting.gregy.cz/cors/",true);
xmlhttp.send();
See plunker qui: http://plnkr.co/edit/E2lCflPDHHaQi7t79IeM?p=preview
Questo codice spara una richiesta CORS che restituisce sempre 401. Firefox e Chrome tornare correttamente in 401 attributo status ma IE10 ritorna 0. Questa modalità di gestione di autenticazione emissione pause che uso per il mio progetto.
Grazie
Edit:
Ho modificato il plunker con onload e gestori di eventi OnError (punta dal commento di Monsur), ma il risultato è sempre lo stesso.
Mi sono anche assicurato che IE10 non abbia selezionato la modalità di compatibilità. (suggerimento del commento di cernunnos)
@rekire: CORS è un modo per aggirare il SOP. Questo non è un duplicato. – Matt
IE10 supporta in modo sistematico CORS e la risposta del server sembra avere le intestazioni necessarie, sei sicuro di non eseguire il tuo IE10 in modalità compatibilità? forse IE9/8/7 Modalità browser/Modalità documento? – cernunnos
Prova ad eseguire il collegamento ai più recenti metodi 'onload' e' onerror' e vedi cosa ottieni in ciascuno di essi. – monsur