webentwicklung-frage-antwort-db.com.de

IE11 HTTPS AJAX XMLHttpRequest: Netzwerkfehler 0x2eff. Der Vorgang konnte aufgrund des Fehlers 00002eff nicht abgeschlossen werden

Ich habe eine Ajax POST -Anforderung, die zwischen 2 Sekunden und mehr als 30 Minuten dauern kann. Die Post-Anfrage erfolgt durch einen Klick auf die Schaltfläche

Wenn die Anforderung weniger als eine oder zwei Minuten dauert, wird sie mit einer Antwort zurückgegeben und alles funktioniert einwandfrei. Wenn die Anforderung jedoch länger als zwei Minuten dauert, wird "Netzwerkfehler: XMLHttpRequest: Netzwerkfehler 0x2eff, Vorgang konnte aufgrund des Fehlers 00002eff nicht abgeschlossen werden" zurückgegeben.

Natürlich funktioniert es gut, Firefox und Chrome.

Die Anwendung wird auf einem JBoss-Server mit aktiviertem SSL bereitgestellt. Die Architektur hier ist, dass wir einen Load Balancer haben, der die Anfrage an zwei Jboss-Server weiterleitet.

Internet Explorer

Version: 11.0.9600.180971C Update: 11.0.25

Ich habe Folgendes versucht, aber vergebens

1) ajax set cache auf false - hat nicht funktioniert

2) Geänderte Registrierungseinstellungen gemäß https://support.Microsoft.com/en-us/kb/813827 - haben nicht funktioniert IE Sache, aber zur gleichen Zeit funktioniert dies auf Chrom und ff, so ist es auch keine Serversache

3) Setzen Sie das Ajax-Zeitlimit auf 0 - hat nicht funktioniert 4) Es wurde e.preventDefault nach $ ('# mdlSgn') hinzugefügt. Click (function () {gemäß jQuery Ajax-Anforderungen werden abgebrochen, ohne gesendet zu werden

$('#mdlSgn').click(function() {
    $('#cnfdsgl').modal('hide');

     $.ajax({
        url: ajaxUrl,
        type: "POST",
        data: JSON.stringify(input),
        contentType: "application/json; charset=UTF-8",
        dataType: "json",
        success: function(data) {
             /// some logic


        },
        error : function(jqXhr, textStatus, errorThrown) {
            /// some logic
        }
    });

 //some other logic
}); 
20
user1707141

kann zwischen 2 Sekunden und 30+ Minuten dauern

Ich gehe davon aus, dass dies auf große Datenmengen zurückzuführen ist.

Ich habe einen großen Datei-Uploader erstellt, der 20 GB + Videodateien verarbeiten kann und mehrere Stunden dauern kann.

Meiner Erfahrung nach - das Hochladen großer Daten mit einer einzigen Ajax-Anforderung kann zu merkwürdigen Browser-Abstürzen führen (beispielsweise stürzt mein Chrome-Browser bei etwa 20% der Upload-Tests ab). 

Die zuverlässigste Methode, die ich gefunden habe, ist das Aufteilen von Daten in 1-MB-Blöcken, die nacheinander durch separate Ajax-Anforderungen an den Server gesendet werden.

6
Ujeenator

Wir verbringen mehrere Tage mit der Suche nach der Ursache dieses Problems!

  • In der Konsole: SCRIPT7002: XMLHttpRequest: Network Error 0x2eff, Vorgang konnte aufgrund des Fehlers 00002eff nicht abgeschlossen werden.
  • In der Netzwerkregisterkarte von IE/Edge wird die fehlgeschlagene Anforderung als "Ausstehend ..." angezeigt.
  • XmlHTTPRequest/JQuery gibt den Fehler 404 an den Client zurück, der Server hat jedoch eine erfolgreiche Antwort zurückgegeben.

Wir hatten nur dieses Problem, wenn wir alle diese verwenden:

  • HTTP/2
  • POST-Anfragen
  • Windows 10
  • IE oder Edge

Anscheinend handelt es sich um einen Windows 10-Fehler im HTTP-Stack, der jetzt in der Windows-Version 1803 (April 2018) behoben ist .. _). Normalerweise wird dieses Problem im Laufe der Zeit für Benutzer/Unternehmen verschwinden, die Auto-Updates von Windows verwenden. verwendete Windows 10-Versionen WorldWide

Wir haben dies auf einer älteren und neueren Version von Windows 10 getestet und sind in der Tat gelöst.

Eine temporäre Lösung könnte sein:

  • deaktivieren Sie HTTP/2 für IE und Edge und verwenden Sie HTTPS (serverseitig).
  • benutze GET (wenn möglich)
  • hat PUT auch dieses Problem?
  • mache ein paar Versuche
  • akzeptiere, dass IE/Edge-Benutzer bestraft werden ;-)
4
Jo VdB

In meinem Fall war es ein benutzerdefinierter Antwortcode (3020), der vom Server zurückgegeben wurde. Umgestellt auf 200 und modifizierte SPA-Client-Logik, wurde das Problem gelöst.

0
aleha