He leído innumerables respuestas sobre preguntas similares, pero no puedo resolver mi problema específico.
Tengo una API web que realiza una solicitud al servicio RESTful mediante un token de autenticación. Esto es dominio cruzado.
Sé que mi cors está configurado correctamente, ya que puedo realizar solicitudes desde la aplicación sin problemas.
Mi problema es que mis encabezados no se envían.
$.ajax({ type: "GET", crossDomain: true, url: url, data: data, success: success, dataType: 'json', cache: false, beforeSend: function (xhr) { xhr.setRequestHeader("Authorization", "bearer TOKENGOESHERE"), xhr.setRequestHeader("RandomHeader", "test") } });Si llamo a mi API usando fiddler y configuro el encabezado allí, la API obtiene el encabezado como se esperaba. Es solo esta llamada AJAX que no parece funcionar.
Estoy ejecutando esto en el último navegador Chrome.
¿Has intentado enviar encabezados como parámetro?
$.ajax({ type: 'POST', url: url, headers: { "my-first-header": "first value", "my-second-header": "second value" } })Tuve síntomas similares, pero mi problema específico parecía ser que estaba haciendo una solicitud http a un sitio que aplicaba HTTPS, por lo que cuando el navegador recibió la respuesta 301 que apuntaba a la versión segura del sitio, parece que el subsistema XHR sigue la redirección. pero deja caer los encabezados en el proceso.