sql >> Database >  >> NoSQL >> MongoDB

Status 500 Interne serverfout in IE-11 met Angular Js-toepassing

Een 500-fout is altijd gerelateerd aan de server. De symptomen kunnen alleen optreden met een specifieke browser, maar het is de server die faalt; het verzoek dat naar de server wordt verzonden, zorgt ervoor dat de code aan de serverzijde op de een of andere manier mislukt.

Error 500 op zichzelf is te algemeen; zonder meer details over de fout te weten, is het altijd erg moeilijk om een ​​diagnose te stellen, en eerlijk gezegd kan ik je hier geen definitief antwoord geven.

Aan uw kant moet u het voor de hand liggende uitsluiten en uw browserinstellingen in IE controleren. Met name alle instellingen die ervoor kunnen zorgen dat deze niet goed met de server communiceert. Zorg er bijvoorbeeld voor dat cookies zijn ingeschakeld en goed werken.

Maar het eerste dat u moet doen, is overleggen met de leverancier of ontwikkelaars van de API, omdat zij toegang hebben tot de serverfoutlogboeken, en zij zullen dit willen weten als hun code een 500-fout geeft.

Als u het echter aan uw kant wilt onderzoeken, is het feit dat het specifiek is voor één browser een aanwijzing. Als de andere browsers werken, vertelt dit ons dat deze ene browser (IE11) het verzoek verzendt met iets erover dat anders is dan de andere browsers, en het is dat iets dat de server-side code activeert om mislukking. Dit geeft ons iets om mee te werken in het onderzoek.

Dus het eerste dat u moet doen, is het verzoek in alle browsers onderzoeken. Gebruik de F12-ontwikkeltools in Chrome, Firefox en IE en kom op het punt waarop je in alle drie dezelfde aanroep hebt gedaan, en het werkt in FF en Chrome, maar niet in IE11.

In de dev-tools zou je nu de details van de aanvraag voor alle drie moeten kunnen bekijken. Vergelijk ze.

Begin met het bekijken van de aanvraaggegevens -- dat wil zeggen de daadwerkelijke queryreeks die is verzonden. Als er verschillen zijn, overweeg dan of een van deze verschillen verantwoordelijk kan zijn voor de fout. Iets kan duidelijk opvallen; bijvoorbeeld als IE een variabele of iets dergelijks heeft afgekapt. Als dit het probleem oplost, prima.

Als het niet helpt, moet je meer in detail kijken. Misschien zijn er enkele verschillen, maar ze zien er niet uit alsof ze iets zouden moeten breken? Met moderne browser-ontwikkeltools kun je een verzoek bewerken en opnieuw verzenden, dus probeer het verzoek te bewerken in Chrome of de dev-tools van Firefox en maak de parameters hetzelfde als die van IE die mislukten. Probeer dat verzoek nu opnieuw te verzenden. Als je geluk hebt, zal het verzoek in de andere browser mislukken, waardoor je kunt aantonen dat een specifieke set gegevens het probleem is (in plaats van een specifieke browser). U zei dat het een API van een derde partij is, dus u moet met de API-leverancier bespreken waarom die query hun API verbreekt.

Als je het probleem op dit moment nog steeds niet hebt gevonden, en je verzendt identieke zoekopdrachten in beide browsers, en je bent ingelogd als dezelfde gebruiker, dan is de volgende stap om naar de verzoekheaders te kijken.

Er is één aanvraagheader die beslist anders zal zijn:de User Agent-string. Maar er kunnen ook anderen zijn. Probeer opnieuw een verzoek te verzenden dat werkt in Chrome, maar met headers van het mislukte verzoek in IE (inclusief de UA-tekenreeks). Mislukt het verzoek nu in Chrome? Als dat zo is, beperk dan welke koppen anders zijn waardoor het mislukken.

Nogmaals, als u hierdoor een specifieke set aanvraaggegevens en headers kunt vinden die het probleem veroorzaken, moet u dit bespreken met de API-leverancier.

Als dit allemaal niet helpt, kijk dan eens naar de cookies. Je hebt al gecontroleerd of cookies werken, dus dit lijkt een lange kans, maar vergelijk de cookies opnieuw tussen browsers en kijk of er iets duidelijk anders aan is.

Ik hoop dat het bovenstaande voldoende is om u te helpen het probleem te diagnosticeren.




  1. MongoDB:Zoek het minimale element in array en verwijder het

  2. MongoDB-back-upplan

  3. Meteor.Collection.ObjectID() versus MongoDB ObjectId()

  4. Hoe kan ik wachten tot een docker-container operationeel is?