MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Статус 500 Вътрешна сървърна грешка в IE-11 с Angular Js приложение

Грешка 500 винаги е свързана със сървъра. Симптомите може да се появят само с определен браузър, но сървърът е този, който се проваля; заявката, която се изпраща до сървъра, причинява неуспех на кода от страната на сървъра по някакъв начин.

Грешка 500 сама по себе си е твърде обща; без да знам повече подробности за грешката, винаги е много трудно да се диагностицира и честно казано няма да мога да ви дам окончателен отговор тук.

В крайна сметка трябва да изключите очевидното и да проверите настройките на браузъра си в IE. По-конкретно, всички настройки, които могат да причинят неуспешна комуникация със сървъра. Например, уверете се, че бисквитките са разрешени и работят правилно.

Но първото нещо, което трябва да направите, е да обсъдите с доставчика или разработчиците на API, защото те ще имат достъп до регистрационните файлове за грешки на сървъра и ще искат да знаят за това, ако кодът им извежда грешка 500.

Въпреки това, ако искате да проучите от своя страна, фактът, че е специфичен за един браузър, е улика. Ако другите браузъри работят, тогава това, което ни казва, е, че този браузър (IE11) изпраща заявката с нещо в него, което е различно от другите браузъри, и това е нещо, което задейства кода от страна на сървъра към провалят се. Това ни дава нещо, с което да работим в разследването.

Така че първото нещо, което трябва да направите, е да разгледате заявката във всички браузъри. Използвайте инструментите за разработка F12 в Chrome, Firefox и IE и стигнете до точката, в която сте направили едно и също извикване и в трите от тях и то работи в FF и Chrome, но не и в IE11.

В инструментите за разработка вече трябва да можете да прегледате подробностите за заявката и за трите. Сравнете ги.

Започнете с преглед на данните за заявката -- т.е. действителния низ на заявката, който е изпратен. Ако има разлики, помислете дали някоя от тези разлики може да е причина за грешката. Нещо може да се открои очевидно; например ако IE е съкратил променлива или нещо подобно. Ако това реши проблема, тогава чудесно.

Ако не помогне, тогава трябва да разгледате по-подробно. Може би има някои разлики, но те не изглеждат така, сякаш трябва да развалят нещо? Съвременните инструменти за разработка на браузъра ви позволяват да редактирате и изпратите отново заявка, така че опитайте да редактирате заявката в инструментите за разработка на Chrome или Firefox и направете параметрите същите като тези от IE, които са неуспешни. Сега опитайте да изпратите отново тази заявка. Ако имате късмет, това ще доведе до неуспех на заявката в другия браузър, което ще ви позволи да покажете, че конкретен набор от данни е проблемът (а не конкретен браузър). Споменахте, че това е API на трета страна, така че след това ще трябва да обсъдите с доставчика на API, за да разберете защо тази заявка нарушава техния API.

Ако все още не сте открили проблема на този етап и изпращате идентични заявки и в двата браузъра и сте влезли като един и същ потребител, тогава следващата стъпка е да погледнете заглавките на заявките.

Има една заглавка на заявката, която определено ще бъде различна:низът на потребителския агент. Но може да има и други. Отново опитайте да изпратите повторно заявка, която работи в Chrome, но със заглавки от неуспешната заявка в IE (включително UA низ). Сега заявката е неуспешна в Chrome? Ако е така, стеснете кои заглавки са различни, които го правят неуспешен.

Отново, ако това ви позволява да намерите конкретен набор от данни за заявка и заглавки, които причиняват проблема, тогава ще трябва да обсъдите с доставчика на API.

Ако всичко това не помогне, опитайте да погледнете бисквитките. Вече проверихте дали бисквитките работят, така че сега това изглежда като дълъг шанс, но отново сравнете бисквитките между браузърите и вижте дали има нещо очевидно различно в тях.

Надявам се, че горното е достатъчно, за да ви помогне да диагностицирате проблема.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoRepository JSON заявка за дата (пролет)

  2. Spring Data Mongo - Методи за заявки и различни полета

  3. Добавете поле, което не е в схемата с мангуста

  4. Команда за напомняне с помощта на MongoDB discord.py

  5. Дефиниране на схема Mongoose в движение от JSON-форматирано „описание“