it-swarm.com.de

SCRIPT7002: XMLHttpRequest: Netzwerkfehler 0x2ef3, Der Vorgang konnte aufgrund des Fehlers 00002ef3 nicht abgeschlossen werden

Ich erhalte diese Fehlermeldung ständig, wenn ich einige Ajax-Anrufe mache ...

Es kann sogar etwas mit Geokodierung zu tun haben, aber ich habe keine Ahnung, wie ich den Fehler aufnehme, um den Benutzern etwas Nützliches anzuzeigen ... oder sogar, um das Problem zu lösen, da es scheinbar nur auf einen Zeiger oder etwas anderes verweist: S 0x2ef3

SCRIPT7002: XMLHttpRequest: Netzwerkfehler 0x2ef3, Der Vorgang konnte aufgrund des Fehlers 00002ef3 nicht abgeschlossen werden. 

Ein Bild kann hilfreicher sein als die Fehlermeldung:

enter image description here

Irgendwelche Ideen?

Mein Code löst 10 Ajax-Anrufe in einer Sekunde aus, um von der Geokodierung auf der Serverseite verarbeitet zu werden. 

Der Fehler tritt zeitweise auf. Manchmal bekomme ich geokodierte Ergebnisse und manchmal bekomme ich diesen Fehler. Ich würde sagen, ich bekomme es 10% der Zeit. Es verhindert vollständig, dass der Ajax-Aufruf meinen Fehlerbehandler in jQuery abfeuert.

69
Jimmyt1988

Dies ist das Update, das für mich funktioniert hat. Es werden ungültige MIME- oder ungültige Zeichensätze mit Ihren Json-Daten gesendet, die diesen Fehler verursachen. Fügen Sie den Zeichensatz wie folgt hinzu, damit er nicht verwirrt wird:

$.ajax({
  url:url,
  type:"POST",
  data:data,
  contentType:"application/json; charset=utf-8",
  dataType:"json",
  success: function(){
  ...
  }
});

Referenz:

Jquery - Wie kann ich $ .post () contentType = application/json verwenden?

Der Vorgang konnte aufgrund des Fehlers c00ce56e nicht abgeschlossen werden.

30
NickNo

Wir hatten auch ähnliche Probleme. Das Festlegen des Zeichensatzes, wie im vorherigen Kommentar angegeben, hat jedoch nicht geholfen. Unsere Anwendung hat alle 60 Sekunden eine AJAX -Anforderung gestellt, und unser Webserver, nginx, sendet mit 60 Sekunden ein Keep-Alive-Timeout.

Wir haben das Problem behoben, indem Sie den Timeout-Wert für Keep-Alive auf 75 Sekunden setzen.

Wir glauben, dass dies passiert ist:

  1. Der IE führt alle 60 Sekunden eine AJAX - Anforderung aus, wodurch Keep Alive in der Anforderung festgelegt wird.
  2. Zur gleichen Zeit weiß nginx, dass der Keep-Alive-Timeout-Wert vom IE ignoriert wird. Daher wird der Vorgang zum Schließen der TCP Verbindung gestartet (im Fall von FF/Chrome wird dies vom Client gestartet).
  3. Der IE empfängt die Anforderung der geschlossenen Verbindung für die zuvor gesendete Anforderung. Da dies vom IE nicht erwartet wird, wirft es einen Fehler und bricht ab.
  4. nginx scheint immer noch auf die Anfrage zu reagieren, obwohl die Verbindung geschlossen ist.

Ein Wireshark TCP -Dump würde für mehr Klarheit sorgen, unser Problem ist behoben und wir möchten nicht mehr Zeit damit verbringen.

19
Jozef Briss

Ich habe den gleichen Fehler (SCRIPT7002: XMLHttpRequest: Network Error 0x80004004, Operation aborted) erhalten. In unserem Fall war dies auf die gleiche Origin-Richtlinie von JavaScript zurückzuführen. 

Unsere Web-App führte einen Aufruf von JQuery AJAX an unseren Server an Port 8080 durch. Der Aufruf wurde über SSL abgefangen und umgeleitet (aufgrund von Serverregeln, die festlegen, dass eingehender Datenverkehr SSL verwendet). 

Nachdem wir unsere Web-App über den SSL-Port geladen haben, wurde das Problem behoben. 

8
Mike R

Ich hatte dieses Problem, eine an AJAX Post-Anforderung, bei der JSON zurückgegeben wurde, schlug fehl und führte schließlich zum Abbruch mit der folgenden:

SCRIPT7002: XMLHttpRequest: Netzwerkfehler 0x2ef3

fehler in der Konsole. Bei anderen Browsern (Chrome, Firefox, Safari) war die gleiche Anforderung AJAX in Ordnung.

Mein Problem wurde aufgespürt - die Untersuchung ergab, dass der Statuscode in der Antwort fehlte. In diesem Fall sollte es 500 interne Fehler gewesen sein. Dies wurde als Teil einer C # Webanwendung mit einem Service Stack generiert, für den ein expliziter Fehlercode erforderlich ist. 

IE schien die Verbindung zum Server offen zu lassen, schließlich kam es zu einer Zeitüberschreitung und die Anforderung wurde abgebrochen. trotz Erhalt des Inhalts und anderer Header.

Möglicherweise gibt es ein Problem damit, wie IE die Kopfzeilen in Posts behandelt.

Durch das Aktualisieren der Webanwendung, um den Statuscode korrekt zurückzugeben, wurde das Problem behoben.

Hoffe das hilft jemandem!

2
Andrew Keeling

Dieses Problem trat in meinem Projekt aufgrund eines Ajax-GET-Aufrufs mit einer langen XML-Zeichenfolge als Parameterwert auf. Gelöst durch den folgenden Ansatz: Als Ajax-Nachaufruf für die Java Spring MVC-Controller-Klassenmethode dieser Art machen. 

$.ajax({
    url: "controller_Method_Name.html?variable_name="+variable_value,
    type: "POST",
    data:{ 
            "xmlMetaData": xmlMetaData // This variable contains a long xml string
    },
    success: function(response)
    {
        console.log(response);
    }
  });

Spring-MVC-Controller-Klassenmethode:

@RequestMapping(value="/controller_Method_Name")
  public void controller_Method_Name(@RequestParam("xmlMetaData") String metaDataXML, HttpServletRequest request)
{
   System.out.println(metaDataXML);
}
2
TRIDIB BOSE

Ich bin über diese Fragen und Antworten gestolpert, nachdem ich den oben genannten Fehler in IE11 erhalten habe, als ich versuche, Dateien mit XMLHttpRequest hochzuladen:

var reqObj = new XMLHttpRequest();

//event Handler
reqObj.upload.addEventListener("progress", uploadProgress, false);
reqObj.addEventListener("load", uploadComplete, false);
reqObj.addEventListener("error", uploadFailed, false);
reqObj.addEventListener("abort", uploadCanceled, false);

//open the object and set method of call (post), url to call, isAsynchronous(true)
reqObj.open("POST", $rootUrlService.rootUrl + "Controller/UploadFiles", true);

//set Content-Type at request header.for file upload it's value must be multipart/form-data
reqObj.setRequestHeader("Content-Type", "multipart/form-data");

//Set header properties : file name and project milestone id
reqObj.setRequestHeader('X-File-Name', name);

// send the file
// this is the line where the error occurs
reqObj.send(fileToUpload);

Das Entfernen der Leitung reqObj.setRequestHeader("Content-Type", "multipart/form-data"); hat das Problem behoben.

Hinweis: Dieser Fehler wird in anderen Browsern sehr unterschiedlich angezeigt. Das heißt Chrome zeigt etwas Ähnliches wie das Zurücksetzen einer Verbindung, das ähnlich ist, was Fiddler meldet (eine leere Antwort aufgrund eines plötzlichen Verbindungsschlusses).

Dieser Fehler trat auch nur auf, wenn der Upload von einem anderen Computer als WebServer durchgeführt wurde (keine Probleme mit localhost).

1
Alexei

Ich hatte diesen Fehler einige Zeit und fand eine Korrektur. Dieses Update ist für die Asp.net-Anwendung. Seltsamerweise schlug es nur im Nicht-Kompatibilitätsmodus IE fehl, funktioniert jedoch in Firefox und Crome. Durch den Zugriff auf den Webservice-Dienstordner für alle/bestimmte Benutzer wurde das Problem behoben. 

Fügen Sie den folgenden Code in die Datei web.config ein:

 <location path="YourWebserviceFolder">
  <system.web>
   <authorization>
    <allow users="*"/>
   </authorization>
  </system.web>
 </location>
1
Roy

Ich möchte nur hinzufügen, was dieses Problem für mich gelöst hat, da es sich von den obigen Antworten unterscheidet.

Die Ajax-Aufrufe, die das Problem verursachten, versuchten, ein leeres Datenobjekt zu übergeben. Es scheint, dass IE das nicht mag, aber andere Browser haben nichts dagegen.

Um das Problem zu beheben, entfernte ich einfach data: {}, aus dem Ajax-Aufruf.

1
tekiegirl

Mit Apache 2 ändern Sie KeepAliveTimeout auf 60 oder höher

1
Ankit Tomar

Falls keine dieser Lösungen "klar" genug war, kann IE/Edge Ihr "data" -Feld Ihres AJAX - Aufrufs nicht ordnungsgemäß analysieren. Wahrscheinlich senden Sie ein "verschlüsseltes" JSON-Objekt.

Was ist fehlgeschlagen: "data": "{\"Key\":\"Value\"}",

Was funktioniert: "data":'{"Key":"Value"}'

0
ROBERT DAWKINS

[Gelöst]

Diesen Fehler habe ich heute nur beobachtet, bei mir war der Fehlercode allerdings anders.

SCRIPT7002: XMLHttpRequest: Netzwerkfehler 0x2efd. Der Vorgang konnte aufgrund des Fehlers 00002efd nicht abgeschlossen werden.

Es geschah zufällig und nicht immer. aber es ist aufgefallen, ob es für nachfolgende ajax anrufe kommt. Also habe ich eine Verzögerung von 5 Sekunden zwischen den Ajax-Aufrufen gesetzt und es wurde aufgelöst.

0
Amit Shah

Habe dasselbe Problem in meinem asp.net-Projekt festgestellt, am Ende habe ich festgestellt, dass das Problem mit der Zielfunktion nicht statisch ist. Das Problem wurde behoben, nachdem ich das Keyword statisch gesetzt hatte.

[WebMethod]
public static List<string> getRawData()
0
Derrick.X

Das Erhöhen der Direktive in den virtuellen Host für KeepAliveTimeout auf 60 löste dies für mich.

0
i.bajrai