funciona form example ejemplos ejemplo data como http cors fetch fetch-api preflight

http - form - fetch API: no se puede agregar autorización en el encabezado de solicitud con Chrome



fetch response (2)

Versión de Chrome : 57.0.2987

En realidad, en la versión anterior de Chrome también tengo este problema. Agregué Authorization on Request Header con mi token de acceso,

fetch(''https://example.com/endpoint'', { method: ''GET'', headers: { ''Authorization'': ''Bearer '' + accesstoken } })

Siempre obtengo Access-Control-Allow-Headers:authorization en el encabezado de respuesta en Chrome Además, My fetch siempre es Request Method: OPTIONS (no muestra GET), entonces el Status Code es 200 OK en Chrome

Pero si ejecuto el mismo código de búsqueda en Firefox (ver 52.0.1), todo funciona bien. Puedo agregar Authorization en el encabezado de la solicitud correctamente. No mostrará Access-Control-Allow-Headers:authorization en el encabezado de respuesta en Firefox. Mostrará Authorization: Bearer accesstoken en el encabezado Solicitud.

El lado del servidor ya procesó CORS para mi encabezado de solicitud.

¿Este es un error de Chrome o mi código? ¿Cómo debo hacer para que la Authorization en el encabezado de la solicitud sea correcta en Chrome?

Debajo de la imagen está la herramienta de desarrollo de red en Chrome :

Debajo de la imagen está el detalle Herramienta de desarrollo de red en Firefox :



Como dijo @stackdave, el navegador envía la solicitud OPTIONS antes de la solicitud GET cuando se usa el dominio cruzado ajax. Entonces el navegador esperará la respuesta del servidor. Mi situación es que el servidor no respondió, por lo que el navegador simplemente detiene el estado de OPCIONES. El servidor necesita manejar este problema, sigue siendo un problema CORS, no es un error o problema de la API.