duplicar llamadas ajax en angularjs

Estoy usando Express-jwt para construir una api tranquila. Ahora el cliente está haciendo llamadas ajax duplicadas, para el primero el iniciador es angularjs y para el segundo el iniciador es otro. El primero obtiene 204 como código de respuesta y el segundo obtiene 200 como código de respuesta. Intenté depurar para llegar al origen de estas solicitudes duplicadas, pero no puedo.

Captura de pantalla

A continuación se muestran los detalles del encabezado para el código de estado 204

Código de respuesta 204

A continuación se muestran los detalles del encabezado para el código de estado 204

Código de respuesta 200

¿Alguien puede sugerir cuál podría ser el problema?

La primera llamada es de tipo OPCIONES. Es una llamada previa al vuelo que envía un navegador si la página y la API no están en el mismo dominio.

El propósito de esta convocatoria es tratar con CORS. El backend generalmente necesita enviar los tipos de métodos de solicitud permitidos (GET, POST, etc.). El navegador enviará la llamada real si el tipo de solicitud deseado se encuentra entre los devueltos.

Aquí hay una muestra de los encabezados de respuesta. introduzca la descripción de la imagen aquí

Puede ignorarlo para todos los propósitos y propósitos. No contiene ninguna carga útil o datos de retorno normalmente útiles.

Eche un vistazo a AJAX en Chrome enviando OPCIONES en lugar de GET / POST / PUT / DELETE? para más información.

Esas dos solicitudes son diferentes, una es OPTIONS y otra es GET .

Para las solicitudes de dominios cruzados, establecer el tipo de contenido en algo distinto a application/x-www-form-urlencoded , multipart/form-data o text/plain activará el navegador para enviar una solicitud de OPTIONS verificación previa al servidor.

Debe manejar en el servidor cuando el método de solicitud OPTIONS , luego debe salir sin procesamiento.