sql >> Databasteknik >  >> NoSQL >> MongoDB

Status 500 Internt serverfel i IE-11 med Angular Js Application

Ett 500-fel är alltid relaterat till servern. Symptomen kan bara uppstå med en specifik webbläsare, men det är servern som misslyckas; begäran som skickas till servern gör att koden på serversidan misslyckas på något sätt.

Fel 500 i sig är för generiskt; utan att veta mer om felet är det alltid väldigt svårt att diagnostisera, och ärligt talat kommer jag inte att kunna ge dig ett definitivt svar här.

I slutet bör du utesluta det uppenbara och kontrollera dina webbläsarinställningar i IE. Specifikt alla inställningar som kan göra att den inte kan kommunicera korrekt med servern. Se till exempel till att cookies är aktiverade och fungerar korrekt.

Men det första du bör göra är att diskutera med leverantören eller utvecklarna av API:t eftersom de kommer att ha tillgång till serverns felloggar, och de kommer att vilja veta om det om deras kod ger ett 500-fel.

Men om du vill undersöka i slutet är det faktum att det är specifikt för en webbläsare en ledtråd. Om de andra webbläsarna fungerar, då är det detta säger oss att den här webbläsaren (IE11) skickar förfrågan med något om sig som skiljer sig från de andra webbläsarna, och det är något som triggar serversidans kod till misslyckas. Detta ger oss något att arbeta med i utredningen.

Så det första du ska göra är att undersöka begäran i alla webbläsare. Använd utvecklingsverktygen för F12 i Chrome, Firefox och IE och kom till den punkt där du har ringt samma anrop i alla tre, och det fungerar i FF och Chrome men inte i IE11.

I dev-verktygen bör du nu kunna granska förfrågningsdetaljerna för alla tre. Jämför dem.

Börja med att titta på förfrågningsdata -- dvs den faktiska frågesträngen som skickades. Om det finns skillnader, överväg om någon av dessa skillnader kan vara ansvarig för felet. Något kanske sticker ut uppenbarligen; t.ex. om IE har trunkerat en variabel eller något liknande. Om detta löser problemet är det bra.

Om det inte hjälper måste du titta närmare. Kanske finns det några skillnader men de ser inte ut som att de borde bryta något? Moderna webbläsarutvecklingsverktyg låter dig redigera och skicka om en förfrågan, så försök att redigera förfrågan i Chrome eller Firefoxs utvecklingsverktyg och gör parametrarna till samma som de från IE som misslyckades. Försök nu att skicka den förfrågan igen. Om du har tur kommer detta att göra att begäran misslyckas i den andra webbläsaren, vilket gör att du kan visa att en specifik uppsättning data är problemet (snarare än en specifik webbläsare). Du nämnde att det är ett tredje parts API, så du måste sedan diskutera med API-leverantören för att ta reda på varför den frågan bryter deras API.

Om du fortfarande inte har hittat problemet vid det här laget, och du skickar identiska frågor i båda webbläsarna, och du är inloggad som samma användare, är nästa steg att titta på förfrågningshuvudena.

Det finns ett förfrågningshuvud som definitivt kommer att vara annorlunda:User Agent-strängen. Men det kan finnas andra också. Försök igen att skicka en begäran som fungerar i Chrome, men med rubriker från den misslyckade begäran i IE (inklusive UA-strängen). Misslyckas begäran nu i Chrome? Om så är fallet, begränsa vilka rubriker som är olika som gör att det misslyckas.

Återigen, om detta gör att du kan hitta en specifik uppsättning begärandata och rubriker som orsakar problemet, måste du diskutera med API-leverantören.

Om allt detta inte hjälper, försök då att titta på kakorna. Du har redan kontrollerat att cookies fungerar, så det här verkar vara ett långt försök nu, men jämför återigen cookies mellan webbläsare och se om det är något uppenbart annorlunda med dem.

Jag hoppas att ovanstående är tillräckligt för att hjälpa dig att diagnostisera problemet.




  1. hur indexerar man ett användarnamn i mongo med skiftlägesokänsligt?

  2. Lagring av kapslade javascript-objekt i redis - NodeJS

  3. Gruppera poster efter månad och räkna dem - Mongoose, nodeJs, mongoDb

  4. mongodb markör-id inte giltigt fel