Le richieste AJAX tra domini (creati con jQuery 1.7.2) non vengono eseguite in IE9 a meno che la richiesta dataType sia impostata su "jsonp" o "script".Richieste AJAX tra domini con IE9
Ho scoperto questo problema nell'inquadrare una richiesta in cui non mi importava della risposta e lasciava dataType non specificato (sì, so che dovrei preoccuparmi della risposta).
Così, per esempio, questo funzionerà:
$.ajax({
url: "http://www.google.com",
type: "GET", // or "POST"
dataType: 'jsonp'
});
ma questo non sarà:
$.ajax({
url: "http://www.google.com",
type: "GET" // or "POST"
});
Con il termine "lavoro" Voglio dire che vedo una richiesta HTTP fatta in Firebug o F12 .
Entrambe le richieste funzionano in altri browser. L'impostazione di jQuery.support.cors = true;
non ha alcun effetto sul successo, né l'impostazione di crossDomain su true né la cache su false (nella richiesta AJAX).
Perché il successo di una richiesta AJAX dipende dal tipo di dati richiesto in IE? Posso capire perché potrebbe influire sulla mia capacità di lavorare con qualsiasi dato restituito; Capisco anche che alcuni server potrebbero rifiutare tutte le richieste per un determinato dataType (ma apparentemente non è il caso qui).
È necessario capire cos'è JSONP. – SLaks
Hai trovato una soluzione a questo? Ho lo stesso problema, IE9 + jQuery 1.7.2 che fa i POS ajax di dominio incrociato alla mia WebAPI. Ho il corretto supporto CORS costruito sul lato server che consente a FF/Chrome/Safari di funzionare correttamente. IE9 si rifiuta semplicemente di emettere la richiesta OPZIONI pre-volo per determinare il supporto CORS ... – mellodev