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

441
Visualizações
error de redirección de nestjs: no se pueden establecer encabezados después de enviarlos

solicitar /login/login.html

redirigir / iniciar sesión

Cambio la redirección en el interceptor

 export class UricheckInterceptor implements NestInterceptor { constructor(private uri: string[]) {} intercept(context: ExecutionContext, next: CallHandler): Observable<any> { const response = context.switchToHttp().getResponse(); const request = context.switchToHttp().getRequest(); const { pathname } = parseurl(request); const pathLength = pathname.length; const pathSlash = pathname.lastIndexOf('/'); const pathLast = pathname.substring(pathSlash + 1, pathLength); const queryString = request.query; if (pathLast === this.uri[1]) { if (Object.keys(queryString).length > 0) { if (queryString.code !== undefined && queryString.bst !== undefined) { response.redirect(301, `./${this.uri[0]}?code=${queryString.code}&bst=${queryString.bst}`); next.handle(); } } else { return next.handle(); } } }

La redirección continúa y se produce un error.

 This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client....

No puedo resolverlo en absoluto.

Espero sinceramente su ayuda.

¿Qué hice mal?

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

Es probable que su encabezado se envíe con la respuesta, pero no verá ese encabezado cuando el navegador realmente siga la redirección y luego solicite la nueva URL. Los navegadores no hacen eso. Recuerde, cuando hace res.redirect(), envía una respuesta con un estado 301/302 y un encabezado de ubicación. El navegador ve ese 301/302 y lee el encabezado de la ubicación y luego realiza una nueva solicitud del navegador a su servidor para la ubicación redirigida. Los encabezados de la respuesta anterior o siguiente NO se agregan a la nueva solicitud de la ubicación redirigida.

Las formas habituales de pasar datos como este a solicitudes redirigidas son:

  1. Póngalo en la cadena de consulta de la URL redirigida como parámetro. Su servidor verá esa cadena de consulta cuando lleguen las solicitudes redirigidas.
  2. Pon una galleta. Su servidor puede ver la cookie cuando llega la solicitud redirigida.
  3. Establezca datos en un objeto de sesión del lado del servidor al que se pueda acceder en la próxima solicitud. Luego, su servidor puede ver la sesión cuando ingresa la solicitud redirigida. Solo la primera opción anterior (parámetro de consulta) es completamente segura porque las otras pueden confundirse acerca de a qué solicitud pertenecen los datos si hay otras solicitudes provenientes de ese mismo usuario.
about 4 years ago · Santiago Gelvez 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