Estoy tratando de extraer el: rid a mis req.params pero obtengo dos valores, el rid y el archivo de script.
aquí está la imagen de console.log
mi código de ruta
router.get('/room/:rid', async (req, res) => { console.log(req.params); res.render('room', { roomId: req.params.rid }); });mi código de tablero para redirigir al usuario a room.ejs cuando el usuario hace clic
function goto(){ var roomID = document.getElementById("roomID").value; window.location.replace(`/room/${roomID}`); }y mi cabeza room.ejs
<script src="this.js" defer></script>Cambia esto:
<script src="this.js" defer></script>a esto:
<script src="/this.js" defer></script> Suponiendo que el script estaba presente en una página web llamada /room , cuando el navegador vea una solicitud de "this.js" , la combinará con la ruta de la página y solicitará /room/this.js , que llegará a su /room/:rid ruta que no es lo que quieres.
Por lo general, siempre querrá que las rutas de los archivos de script sean rutas absolutas (comiencen con / ) para que sean fijas y no dependan de la ruta de la página en la que se encuentran.