Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

452
Vistas
El campo de encabezado de solicitud Time-Zone no está permitido por Access-Control-Allow-Headers en la respuesta de verificación previa

Tengo una API WEB que estoy consumiendo de POSTMAN y funciona perfectamente bien:

Encabezados:

Tipo de contenido: aplicación/json X-Id. de desarrollador: asdasdas X-Api-Key: asdasdas Autorización: Portador sasdasdsa Zona horaria: Hora estándar de Marruecos

Cuando hago una solicitud GET en POSTMAN, funciona bien, sin embargo, desde angular 2 (Ionic 2) aparece el siguiente error:

 Request header field Time-Zone is not allowed by Access-Control-Allow-Headers in preflight response. let params: URLSearchParams = new URLSearchParams(); params.set('date', date); //Header let headers = new Headers({ 'Content-Type': AppSettings.ContentType, 'X-Developer-Id': AppSettings.XDeveloperId, 'X-Api-Key': AppSettings.XApiKey, 'Time-Zone': AppSettings.time_zone, 'Authorization': AppSettings.Authorization + localStorage.getItem("AccessToken") }); var RequestOptions: RequestOptionsArgs = { url: AppSettings.UrlAvailability + userId, method: 'GET', search: params, headers: headers, body: null }; return this.http.get((AppSettings.UrlAvailability + userId), RequestOptions) .map(res => res.json()) .do(data => { data }, err => console.log('error: ' + err));

Primero, creo que los desarrolladores de API tienen que hacer algo en el lado del servidor, como habilitar ese encabezado de zona horaria en CORS, sin embargo, si ese fuera el caso, obtendríamos el mismo error en POSTMAN, pero funciona bien allí.

¿Que me estoy perdiendo aqui?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Esto es algo que necesita configurar en el servidor. Primero debe asegurarse de tener soporte CORS. No uso ASP.NET, así que no sé cómo hacerlo. Estoy bastante seguro de que una búsqueda rápida en Google encontrará la respuesta. Luego, debe asegurarse de que en la configuración de CORS del servidor, los encabezados especiales que desea que el cliente pueda enviar se agreguen a los encabezados permitidos de CORS. Eso es lo que dice el error: que los encabezados no están incluidos en el encabezado de respuesta Access-Control-Allow-Headers . El encabezado de respuesta se vería así

 Access-Control-Allow-Headers: X-Developer-Id, X-Api-Key, Time-Zone, Authorization

Para obtener más información sobre CORS, consulte el MDN

Primero, creo que los desarrolladores de API tienen que hacer algo en el lado del servidor, como habilitar ese encabezado de zona horaria en CORS; sin embargo, si ese fuera el caso, obtendríamos el mismo error en POSTMAN, pero funciona bien allí.

No, Postman no tiene las mismas restricciones. Es una aplicación de escritorio nativa. Dato curioso: el 99% de las personas que publican preguntas en SO que tienen un problema de CORS, tienen en algún lugar de su publicación "... ¡pero funciona con Postman!". Así que no te sientas mal :-)

over 4 years ago · Santiago Trujillo Denunciar

0

Creo que debería eliminar algunos de sus encabezados y verificar su tipo de contenido para que su solicitud pueda considerarse como una "solicitud simple" y luego no active una verificación previa de CORS como se explica en el documento.

fuente: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#examples_of_access_control_scenarios

Además de los encabezados establecidos automáticamente por el agente de usuario (por ejemplo, Conexión, Agente de usuario u otros encabezados definidos en la especificación de recuperación como un nombre de encabezado prohibido), los únicos encabezados que se pueden configurar manualmente son aquellos que el Fetch spec se define como un encabezado de solicitud incluido en la lista segura de CORS, que son:

  1. Aceptar
  2. Aceptar-Idioma
  3. Contenido-Idioma
  4. Tipo de contenido (tenga en cuenta los requisitos adicionales a continuación)
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda