Wygląda na to, że wersja IE11 11.0.7 (KB2929437 na Win7, KB2919355 na Win 8.1) ma problem podczas wykonywania operacji POST Ajax. Operacja zwraca stan 0 i na konsoli F12, pojawia się następujący błąd:IE11 zwraca status 0 podczas operacji Ajax POST z elementu iframe (XMLHttpRequest: błąd sieci 0x2ee4)
SCRIPT7002: XMLHttpRequest: Network Error 0x2ee4, Could not complete the operation due to error 00002ee4.
Warunki do odtworzenia tego problemu są następujące:
- zdarza się tylko na konkretnym IE11, czyli w wersji 11.0.7 (KB2929437 na Windows 7, KB2919355 na Win 8.1)
- ramka zostanie na załadowanie strony zewnętrznej z protokołu hTTPS (strona macierzystego, z wykorzystaniem protokołu hTTP)
- Ajax metodą „POST” jest używany
- Częściej zdarza się Connection: Keep-Alive nagłówek ustawiony przez IIS
- Częściej zdarza się od wersji Win32 IE11
stworzyłem następujące jsfiddle odtworzyć ten problem: http://jsfiddle.net/VJ2D6/12/
$(document).ready(function() {
$('#frame').attr('src', 'https://54.249.142.247/ie11/test.html');
});
Należy pamiętać, że element iframe pobiera swoje źródło z innej witryny 54.249.142.247 (hostowanej przez węzeł EC2 przy użyciu IIS7), ponieważ jsfiddle nie obsługuje protokołu HTTPS. A ponieważ używam certyfikatu SSL Self-Sign, najpierw zainstaluj certyfikat w Zaufanym katalogu głównym i wyłącz opcję "Ostrzegaj o niedopasowaniu adresu certyfikatu" w opcjach internetowych - karta Zaawansowane.
Wewnątrz pliku 54.249.142.247/ie11/test.html utworzyłem przycisk inicjujący operację Ajax POST do nieistniejącej lokalizacji. Zwykle to żądanie powinno zwracać błąd statusu 404 (Nie znaleziono). Jednak w przypadku wersji 11.0.7 IE11, często zwraca 0 Status błędu i pokazuje błąd sieci 0x2ee4 wewnątrz konsoli F12 "
Zamieściłem ten sam problem do Microsoft Connect tutaj: https://connect.microsoft.com/IE/feedback/details/877525/ie11-returns-status-0-during-ajax-post-operation-from-an-iframe-xmlhttprequest-network-error-0x2ee4#tabs
myślę, że to jest Błąd IE11, ale nie jestem w 100% pewny i nie ma jeszcze potwierdzenia od zespołu IE. Proszę pomóż mi potwierdzić, czy jest to błąd IE, czy też jest jakiś problem w moim kodzie JavaScript.
AKTUALIZACJA :
Microsoft poinformował, że może odtworzyć problem i zbada to.
Problem został przeniesiony do https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/245775/, ale oczywiście nie został naprawiony. –