MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Status 500 Interner Serverfehler in IE-11 mit Angular Js-Anwendung

Ein 500-Fehler hängt immer mit dem Server zusammen. Die Symptome treten möglicherweise nur bei einem bestimmten Browser auf, aber es ist der Server, der ausfällt; die Anforderung, die an den Server gesendet wird, führt dazu, dass der serverseitige Code auf irgendeine Weise fehlschlägt.

Fehler 500 allein ist zu allgemein; ohne mehr Details über den Fehler zu kennen, ist es immer sehr schwer zu diagnostizieren, und ehrlich gesagt kann ich Ihnen hier keine endgültige Antwort geben.

Am Ende sollten Sie das Offensichtliche ausschließen und Ihre Browsereinstellungen im IE überprüfen. Insbesondere alle Einstellungen, die dazu führen könnten, dass die Kommunikation mit dem Server fehlschlägt. Stellen Sie beispielsweise sicher, dass Cookies aktiviert sind und ordnungsgemäß funktionieren.

Aber das erste, was Sie tun sollten, ist, mit dem Anbieter oder den Entwicklern der API zu sprechen, da sie Zugriff auf die Server-Fehlerprotokolle haben und wissen möchten, ob ihr Code einen 500-Fehler auslöst.

Wenn Sie jedoch an Ihrem Ende nachforschen möchten, ist die Tatsache, dass es sich um einen bestimmten Browser handelt, ein Hinweis. Wenn die anderen Browser funktionieren, sagt uns dies, dass dieser eine Browser (IE11) die Anfrage mit etwas sendet, das sich von den anderen Browsern unterscheidet, und dass es etwas ist, das den serverseitigen Code auslöst scheitern. Das gibt uns etwas, mit dem wir bei der Untersuchung arbeiten können.

Als erstes gilt es also, die Anfrage in allen Browsern zu prüfen. Verwenden Sie die F12-Entwicklertools in Chrome, Firefox und IE und gelangen Sie an den Punkt, an dem Sie in allen drei denselben Aufruf getätigt haben und er in FF und Chrome funktioniert, aber nicht in IE11.

In den Entwicklertools sollten Sie jetzt die Anforderungsdetails für alle drei untersuchen können. Vergleichen Sie sie.

Sehen Sie sich zunächst die Anforderungsdaten an, dh die tatsächlich gesendete Abfragezeichenfolge. Wenn es Unterschiede gibt, überlegen Sie, ob einer dieser Unterschiede für den Fehler verantwortlich sein könnte. Etwas kann offensichtlich auffallen; zB wenn IE eine Variable abgeschnitten hat oder ähnliches. Wenn dies das Problem löst, großartig.

Wenn es nicht hilft, dann musst du genauer hinschauen. Vielleicht gibt es einige Unterschiede, aber sie sehen nicht so aus, als sollten sie etwas kaputt machen? Mit modernen Browser-Entwicklungstools können Sie eine Anfrage bearbeiten und erneut senden. Versuchen Sie also, die Anfrage in den Entwicklungstools von Chrome oder Firefox zu bearbeiten, und machen Sie die Parameter mit denen des fehlgeschlagenen IE identisch. Versuchen Sie nun, diese Anfrage erneut zu senden. Wenn Sie Glück haben, schlägt die Anfrage in dem anderen Browser fehl, wodurch Sie zeigen können, dass ein bestimmter Datensatz das Problem ist (und nicht ein bestimmter Browser). Sie haben erwähnt, dass es sich um eine Drittanbieter-API handelt, daher müssen Sie mit dem API-Anbieter besprechen, warum diese Abfrage ihre API beschädigt.

Wenn Sie das Problem zu diesem Zeitpunkt immer noch nicht gefunden haben und Sie in beiden Browsern identische Abfragen senden und als derselbe Benutzer angemeldet sind, sehen Sie sich im nächsten Schritt die Anforderungsheader an.

Es gibt einen Request-Header, der definitiv anders sein wird:der User-Agent-String. Aber vielleicht gibt es auch noch andere. Versuchen Sie erneut, die Anfrage erneut zu senden, die in Chrome funktioniert, aber mit Headern von der fehlgeschlagenen Anfrage in IE (einschließlich der UA-Zeichenfolge). Schlägt die Anfrage jetzt in Chrome fehl? Wenn dies der Fall ist, grenzen Sie die unterschiedlichen Header ein, die zum Fehlschlagen führen.

Wenn Sie auf diese Weise einen bestimmten Satz von Anforderungsdaten und Headern finden können, die das Problem verursachen, müssen Sie dies wiederum mit dem API-Anbieter besprechen.

Wenn all dies nicht hilft, versuchen Sie es mit einem Blick auf die Cookies. Sie haben bereits überprüft, ob Cookies funktionieren, also scheint dies jetzt ein langer Weg zu sein, aber vergleichen Sie die Cookies noch einmal zwischen den Browsern und sehen Sie, ob es offensichtliche Unterschiede gibt.

Ich hoffe, das Obige reicht aus, um Ihnen bei der Diagnose des Problems zu helfen.