Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

455
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda