cross-domain żądania AJAX (wykonane przy użyciu jQuery 1.7.2) nie są wykonywane w IE9 chyba że prośba dataType jest ustawiony na "jsonp" lub "scenariusz".cross-domain żądania AJAX z IE9
odkryłem tę kwestię w kształtowaniu prośbę gdzie nie dbałem o odpowiedzi, a lewy danych: dataType nieokreślony (tak, wiem, że powinienem dbać o odpowiedzi).
Tak więc, na przykład, będzie to działa:
$.ajax({
url: "http://www.google.com",
type: "GET", // or "POST"
dataType: 'jsonp'
});
Ale to nie będzie:
$.ajax({
url: "http://www.google.com",
type: "GET" // or "POST"
});
Przez "dzieła" To znaczy, że widzę żądania HTTP wykonany w Firebug lub F12 .
Obie prośby działają w innych przeglądarkach. Ustawienie jQuery.support.cors = true;
nie ma wpływu na powodzenie, ani ustawienie crossDomain na true, ani cache na false (w żądaniu AJAX).
Dlaczego sukces żądania AJAX zależy od żądanej tylko w IE danych: dataType? Rozumiem, dlaczego wpłynęłoby to na moją zdolność do pracy z dowolnymi zwróconymi danymi; Rozumiem również, że niektóre serwery mogą odrzucić wszystkie żądania określonego typu danych (ale najwyraźniej tak nie jest).
Musisz zrozumieć, czym jest JSONP. – SLaks
Czy znalazłeś rozwiązanie tego problemu? Mam ten sam problem, IE9 + jQuery 1.7.2 obsługujący domenę ajax POSTS z mojej domeny do mojego WebAPI. Mam odpowiednie wsparcie CORS zbudowane po stronie serwera, które pozwala FF/Chrome/Safari działać poprawnie. IE9 po prostu odmawia wydania polecenia OPCJE przed lotem w celu ustalenia wsparcia CORS ... – mellodev