sql >> Base de Datos >  >> NoSQL >> MongoDB

Estado 500 Error interno del servidor en IE-11 con la aplicación Angular Js

Un error 500 siempre está relacionado con el servidor. Los síntomas pueden ocurrir solo con un navegador específico, pero es el servidor el que está fallando; la solicitud que se envía al servidor está causando que el código del lado del servidor falle de alguna manera.

El error 500 por sí solo es demasiado genérico; sin conocer más detalles sobre el error, siempre es muy difícil de diagnosticar y, francamente, no podré darte una respuesta definitiva aquí.

Por su parte, debe descartar lo obvio y verificar la configuración de su navegador en IE. Específicamente, cualquier configuración que pueda causar que no se comunique correctamente con el servidor. Por ejemplo, asegúrese de que las cookies estén habilitadas y funcionen correctamente.

Pero lo primero que debe hacer es hablar con el proveedor o los desarrolladores de la API porque tendrán acceso a los registros de errores del servidor y querrán saber si su código arroja un error 500.

Sin embargo, si desea investigar por su cuenta, el hecho de que sea específico para un navegador es una pista. Si los otros navegadores están funcionando, entonces lo que esto nos dice es que este navegador (IE11) está enviando la solicitud con algo sobre él que es diferente a los otros navegadores, y es ese algo lo que activa el código del lado del servidor para fallar. Esto nos da algo con lo que trabajar en la investigación.

Entonces, lo primero que debe hacer es examinar la solicitud en todos los navegadores. Use las herramientas de desarrollo F12 en Chrome, Firefox e IE, y llegue al punto en el que haya realizado la misma llamada en los tres, y funcione en FF y Chrome, pero no en IE11.

En las herramientas de desarrollo, ahora debería poder examinar los detalles de la solicitud para los tres. Compáralos.

Comience mirando los datos de la solicitud, es decir, la cadena de consulta real que se envió. Si hay diferencias, considere si alguna de estas diferencias puede ser responsable del error. Algo puede destacarse obviamente; por ejemplo, si IE ha truncado una variable o algo así. Si esto resuelve el problema, genial.

Si no ayuda, entonces necesita mirar con más detalle. ¿Tal vez hay algunas diferencias pero no parece que deban romper nada? Las herramientas de desarrollo del navegador moderno le permiten editar y volver a enviar una solicitud, así que intente editar la solicitud en las herramientas de desarrollo de Chrome o Firefox y haga que los parámetros sean los mismos que los de IE que fallaron. Ahora intente volver a enviar esa solicitud. Si tiene suerte, esto hará que la solicitud falle en el otro navegador, lo que le permitirá mostrar que el problema es un conjunto específico de datos (en lugar de un navegador específico). Usted mencionó que es una API de terceros, por lo que deberá hablar con el proveedor de la API para averiguar por qué esa consulta interrumpe su API.

Si aún no ha encontrado el problema en este punto, está enviando consultas idénticas en ambos navegadores y ha iniciado sesión como el mismo usuario, entonces el siguiente paso es mirar los encabezados de solicitud.

Hay un encabezado de solicitud que definitivamente será diferente:la cadena del Agente de usuario. Pero puede haber otros también. Nuevamente, intente volver a enviar la solicitud que funciona en Chrome, pero con encabezados de la solicitud fallida en IE (incluida la cadena UA). ¿La solicitud ahora falla en Chrome? Si es así, reduzca qué encabezados son diferentes que hacen que falle.

Nuevamente, si esto le permite encontrar un conjunto específico de datos de solicitud y encabezados que causan el problema, entonces deberá hablar con el proveedor de la API.

Si todo esto no ayuda, intente mirar las cookies. Ya comprobó que las cookies funcionan, por lo que ahora parece una posibilidad remota, pero vuelva a comparar las cookies entre los navegadores y vea si hay algo obviamente diferente en ellos.

Espero que lo anterior sea suficiente para ayudarlo a diagnosticar el problema.