[FRAGE] Netzwerkfehler 0x2ef3 bei Ajax Request

mikdoe

Active member
Ein Ajax Request bringt seit gestern in der IE 11 Konsole immer mal wieder zwischendurch den Fehler:
SCRIPT7002: XMLHttpRequest: Netzwerkfehler 0x2ef3, Der Vorgang konnte aufgrund des folgenden Fehlers nicht fortgesetzt werden: 00002ef3.
Code wurde lange nicht geändert und bis vorgestern kam der Fehler so gut wie nie. Im Grunde nur bei einem echten Verbindungsabbruch des Clients sonst nicht.
Das liegt hier aber - wenn überhaupt - nur im nicht wahrnehmbaren Millisekundenbereich vor.
Weiß jemand eine genauere Bedeutung des Fehlers?

Der Request sieht so aus:
HTML:
function aktualisieren() {
jQuery.ajax ({
	url: 'meinscript',
	data: 'parameter',
	type: 'POST',
	cache: false,
	success: function(data) {
//verarbeitung
		window.setTimeout(function() { aktualisieren(); },5000);
	},
	timeout: 5000,
	error: function() {
		jQuery('#eingabezeile').html('Verbindungsfehler');
	}
});
}

Ist der Request zu empfindlich für Millistörungen? Kann ich die Toleranz irgendwie erhöhen?
 
Ergänzung: Wenn ich die selbe Seite parallel in IE 11 und FF auf habe, bekommt der FF keinen Fehler, während der IE im selben Moment einen Fehler anzeigt.
Gestern habe ich Update von IE 10 auf IE 11 gemacht. Irgendwas an bugs diesbezüglich im neuen IE bekannt?
 
Zusatzfrage: Diesen detaillierten Fehler habe ich in der Console gesehen.
Es gibt beim Ajax Request den error Parameter:
Type: Function( jqXHR jqXHR, String textStatus, String errorThrown )
Die Variable textStatus enthält aber nur den Wert "error" wenn der Fehler auftritt. errorThrown ist leer.
Wie kann ich aus diesen drei Variablen mehr Detailinfos herausholen? Sodass auch jemand Details sehen kann der die Console nicht auf hat?
 
Mit AJAX Request meinst du vermutlich die obige jQuery Funktion ajax().
Ja.

Dort wird der von dir gezeigte Callbackrumpf erklärt.
Ich weiß, daraus habe ich ja zitiert.

Du musst diese Parameter in deiner callback Funktion auch benutzen, was du im ersten Beispiel nicht getan hast.
Stimmt, Beispiel war gekürzt.
Der error Parameter sieht so aus:
HTML:
			error: function(xhrobj,textStatus,errorThrown) {
				jQuery('#eingabezeile').html('Verbindungsfehler '+textStatus+', bitte oben über das Hauptmenü neu aufrufen!');
			}
Zu sehen bekomme ich dann:
Verbindungsfehler error, bitte oben über das Hauptmenü neu aufrufen!
Würde ich errorThrown zusätzlich konkatenieren wäre das leer.

jQuery wird da intern versuchen eine nachvollziehbare Erklärung aus dem Fehler zu ermitteln. Was nicht immer klappen dürfte.
Heißt das, wenn ich errorThrown ausgebe und es leer ist ist dieser Versuch gescheitert?

Was den IE Fehler anbelangt, hängt das davon ab, wer oder was diesen Fehler wirft. Macht das die jQuery Funktion oder das interne XMLHttpRequest? Gibt es dazu eine Zeilennummer?
Kann ich nicht beantworten nur bebildern:
xmsfehler_ie11.jpg

Ich hab mal kurz nach dem Fehler gesucht (Suchbegriff: "XMLHttpRequest: Netzwerkfehler 0x2ef3") einige Ergebnisse deuten darauf hin, dass es sich um ein Sicherheitsproblem handelt.
Und das tritt dann nur sporadisch auf und im FF garnicht?
 
Danke für deine Links.
Meine ersten Gedanken:

Da scheint es am content-type zu liegen
Und der macht nur im IE und nur in dessen neuer Version 11 Probleme? Es ist ein ganz normaler "POST" Request. Ich kann nicht sämtliche Requests jetzt mit neuen Parametern ausstatten. Damit wäre ich Jahre beschäftigt. Ich bete, dass es damit nichts zu tun hat!

Oder hier am Zertifikat:
Das verwendete Zertifikat ist ganz regulär und funktioniert sauber in allen Browsern. Nichts geändert und nie Probleme gehabt.
Wenn das wäre, was sollte/müsste ich/der Provider daran ändern, um das Problem abzustellen?
Der Link öffnet sich bei mir nicht.

oder daran, dass du einen POST Request über das HTTPS Protokoll versuchst:
Räusper, ja, ich mache nichts anderes. Arbeite ausschließlich mit POST und ausschließlich mit HTTPS Verbindungen. Aber auch nicht neu.
Und den Zusammenhang zu WinJS verstehe ich auch im Moment nicht. Bitte um kurze Erklärung.
 
Das wären Informationen gewesen, die vielleicht helfen würden.
Ja, warum formulierst du das so vorwurfsvoll? Man weiß doch bei einer Frage nicht, welche Infos alle gebraucht werden. Am Ende ist noch meine Schuhgröße relevant, kann ich ja nicht wissen.
Der IE 11 ist mir genau so fremd wie dir!
Man nähert sich im Verlauf. Da braucht keiner einem anderen vorwerfen, etwas vorenthalten zu haben.

Wenn wir jetzt noch die Windows Version wüßten und ob du selbsterstellte Zertifikate nutzt oder nicht, wäre eine konkrete Rechereche möglich.
Win7 und keine selbsterstellten Zertifikate.

Aber er bietet dort auch eine Lösung an, hast du die mal probiert?
Habe ich übersehen, was genau meinst du?

Vielleicht gab es aber auch ein update und es wurde Zertifikate geändert.
Keine Info vom Provider, keine Änderungen

Aber es gibt auf den verlinkten Seiten, weiterführende Links, die andere Lösungen zeigen, da wäre es interessant zu Wissen ob diese dir weiterhelfen.
Welche genau würdest du an meiner Stelle ausprobieren vor dem Hintergrund, dass das Problem mit dem selben Code auf der selben Seite auf dem selben Client mit dem selben Server (alles lange erfolgreich im Einsatz und nicht geändert) nur den IE 11 und sonst keinen anderen Browser betrifft?
 
Zuletzt bearbeitet:
Wenn das ein Zertifikatsproblem oder ein Problem mit POST + HTTPS wäre müsste das doch bei jedem Verbindungsaufbau passieren und nicht sporatisch...
Kannst du man einen Testlink machen, wo wir uns das live ansehen können (also die, die einen IE haben;))?

PS: hab' die ganzen Links oben nicht durchgelesen.
 
Habe mal alles nicht fachliche in einen anderen Thread verschoben. Wird hier sonst wieder zu unübersichtlich.

Korbinian, Testlink mache ich alsbald.
 
Also. Bin ein Stückchen weiter.
Habe ein Test online gestellt: Ajaxfehler

ABER: Wenn ich die Testseite parallel neben meiner Echtseite auf habe, zeigt die Echtseite in der selben Zeit zig mal Fehler während die Testseite keinerlei Fehler hat. Die Testseite läuft und läuft und läuft.
Ein wesentlicher Unterschied ist: Die Echtseite ist eine https Verbindung, die Testseite nicht.
Daraus schließe ich, dass es tatsächlich mit https zusammen hängen könnte.

Das Problem: Ich habe keine https Seite, auf der ich eine Testseite bereitstellen kann. Hat jemand vielleicht die Möglichkeit dazu?
Es müssten diese beiden Scripte online gestellt werden:

ajaxfehler.html:
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Ajaxfehler</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<div id="test"></div>
<div id="fehler"></div>
<script>
	var durchlauf = 0;
	function aktualisieren () {
		durchlauf ++;
		jQuery.ajax ({
			url: 'ajaxfehler.php',
			data: 'dummy=dummy',
			type: 'POST',
			cache: false,
			success: function(data) {
				document.getElementById('test').innerHTML = data;
				window.setTimeout(function() { aktualisieren(); },700);
			},
			timeout: 5000,
			error: function(xhrobj,textStatus,errorThrown) {
				jQuery('#fehler').html('<span style="color:red;">Verbindungsfehler textStatus:"'+textStatus+'" errorThrown:"'+errorThrown+'"</span>');
			}
		});
	}
	jQuery(document).ready(function(){ aktualisieren(); });
</script>
</body>
</html>

ajaxfehler.php:
PHP:
<?
$timestamp = time();
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i:s",$timestamp);
echo "anwesend am $datum um $uhrzeit<br>\n";
?>
 
Wenn ich die Testseite auf einem https Server laufen lasse (URL kann ich nicht rausgeben) tritt der Fehler übrigens auch auf.
Ich habe jetzt einen Fehlerzähler eingebaut. Erst bei 3 Fehlern in Folge wird die Verbindungsfehler Meldung angezeigt.
Bis jetzt ist Ruhe. Mal schauen, wie lang das hält.
 
Das ist ja sehr seltsam... aber wenn wir uns das nicht ansehen können, können wir nur raten was jetzt bei der HTTPS Variante falsch läuft.
 
Korbinian, hast du denn mehr Möglichkeiten als die normale F 12 Konsole im IE?
Ein Screenshot und den Code habe ich ja weiter oben gezeigt. Mehr sieht man dort nicht.
Gibt es noch andere Tools die ich installieren kann, um mehr zu sehen?

Es passiert nämlich leider trotz Fehlerzähler zwar seltener aber immernoch.
 
Wenn das ein Zertifikatsproblem oder ein Problem mit POST + HTTPS wäre müsste das doch bei jedem Verbindungsaufbau passieren und nicht sporatisch...
...
PS: hab' die ganzen Links oben nicht durchgelesen.
auch das POST + HTTPS Problem war eigentlich ein Zertifikatsproblem von mono. derjenige konnte es umgehen, indem er vor dem 1. POST ein GET request ausgeführt hat.

EDIT: wo sind die links eigentlich? gabs wieder mimimi?
 
Zuletzt bearbeitet:
auch das POST + HTTPS Problem war eigentlich ein Zertifikatsproblem von mono.
Du meinst dieses Mono?

derjenige konnte es umgehen, indem er vor dem 1. POST ein GET request ausgeführt hat.
Das kommt mir von irgendwo her bekannt vor. Aber nicht von mono. Ich komme nicht drauf.

Aber so ganz scheint das nicht zu passen. Also ich meine, der Fehler kommt nicht immer, nur ab und zu. Die oben gezeigte Testseite hat genau mit diesem Code in einer https Umgebung minutenlang funktioniert. Plötzlich kam der Verbindungsfehler. Kann aber nicht an der Internetverbindung gelegen haben, denn die selbe Seite im Tab daneben in der http Umgebung lief parallel ohne Fehler weiter.
 
EDIT: wo sind die links eigentlich?
Hat er selbst rausgenommen.
Passten aber alle dem Anschein nach nicht.
Denn das Problem tritt nicht regelmäßig auf. Die Links waren aber alles Fälle, wo es regelmäßig reproduzierbar auftrat oder es sich um frischen, vorher noch nicht produktiv im Einsatz befindlichen Code handelte.

gabs wieder mimimi?
Ja. Das Problem scheint sich aber jetzt zurückgezogen zu haben.
 
Zuletzt bearbeitet:
Passten aber alle dem Anschein nach nicht.
Denn das Problem tritt nicht regelmäßig auf. Die Links waren aber alles Fälle, wo es regelmäßig reproduzierbar auftrat oder es sich um frischen, vorher noch nicht produktiv im Einsatz befindlichen Code handelte.
hmm, bei dem was ich finde, und annehme das ist einer der links vom schlauen, klingt es aber genau wie dein problem.
was hat das mit "frischen, vorher noch nicht produktiv im Einsatz befindlichen Code" zu tun?
 
hmm, bei dem was ich finde, und annehme das ist einer der links vom schlauen, klingt es aber genau wie dein problem.
Welches genau meinst du?

was hat das mit "frischen, vorher noch nicht produktiv im Einsatz befindlichen Code" zu tun?
Insofern, als das Problem bei mir erst mit dem Update des IE von 10 auf 11 begann. Den Code und das Umfeld gibt es schon über 2 Jahre und der hat nie Fehler gehabt, einen Verbindungsabbruch gab es vielleicht einmal im Monat, wenn die Verbindung wirklich weg war. Sonst nie.
Und in Stack Beiträgen die ich gefunden hatte ging es halt um Code, der gerade frisch entwickelt wurde, der also noch nie produktiv im Einsatz war.

nee, eigentlich meinte ich metro
Was ist metro?
 
Hast du denn jetzt schon ausprobiert, ob die Fehler verschwinden, wenn du direkt vor dem POST ein GET sendest?
 
Welches genau meinst du?
das mit dem contenttype

Insofern, als das Problem bei mir erst mit dem Update des IE von 10 auf 11 begann. Den Code und das Umfeld gibt es schon über 2 Jahre und der hat nie Fehler gehabt, einen Verbindungsabbruch gab es vielleicht einmal im Monat, wenn die Verbindung wirklich weg war. Sonst nie.
Und in Stack Beiträgen die ich gefunden hatte ging es halt um Code, der gerade frisch entwickelt wurde, der also noch nie produktiv im Einsatz war.
und was macht es für einen unterschied, ob der fehler in altem oder neuem code auffällt? das er bei neuem auffällt dürfte um einiges wahrscheinlicher sein, da man diesen ja in der regel testet
 
Zurück
Oben