Quiero enviar un archivo HTML como respuesta, pero cuando lo hace, mantiene la URL actual. He leído sobre el método de location pero no me funciona, me gustaría algo como:
La URL de origen es esta: localhost/login
Enviando esta respuesta
res.location('/live').sendFile(path.join(__dirname, "../pages/live.html"));yo estaba tratando de conseguir algo como esto
localhost/liveEstoy haciendo algo mal ?
Solicite a través de AJAX y envíe el contenido html como una cadena, luego escríbalo en el documento.
Código de front-end:
fetch('/your-route') .then(response => response.text()) .then(data => { document.write(data) })Al usar .location , solo está configurando el campo de encabezado de respuesta de ubicación para que sea igual a /live . Tendría que agregar un código de estado de 302 para cambiar realmente la URL. Pero al agregar un código de estado de 302, provocaría una redirección y el archivo de envío no se mostrará, ya que el navegador intentará GET /live . Por lo tanto, debe tener un oyente para GET /live que devuelva su archivo html. O puede usar directamente res.redirect para redirigir al controlador /live en ese caso necesario.