Estoy usando un enrutador express en Node y estoy tratando de mostrar una página con algunos datos que obtengo al obtener de una API. Sin embargo, no obtengo absolutamente ningún resultado y no es culpa de la API. Revisé la consola manualmente y devuelve los resultados esperados.
Aquí está mi código:
router.get('/dashboard', ensureAuth, async (req, res) => { try { const resp = await fetch("https://api.tvmaze.com/shows?page=1") const respData = await resp.json() res.render('dashboard', { name: req.user.firstName, image: req.user.image, shows: respData }) } catch (error) { res.render('dashboard', { name: req.user.firstName, image: req.user.image }) } })EDITAR: Aquí está la vista que se está representando:
<body> {{#if shows}} {{#each shows}} <img src="{{image.original}}" alt="{{name}}" /> <div class="movie-info"> <h3>{{name}}</h3> <span>{{weight}}</span> </div> {{/each}} {{else}} <p>No shows available.</p> {{/if}} </body>He buscado en línea pero no puedo encontrar una explicación de dónde radica el problema aquí. Si se trata de un duplicado, rediríjame al original. Gracias.
No puede usar fetch dentro del nodo porque solo está disponible en el navegador. Si desea realizar una solicitud HTTP desde una aplicación de nodo, use axios o node-fetch