Tengo mi aplicación de nodo configurada de esta manera: tengo dos controladores, uno para solicitudes a la URL raíz y el otro para el slug, y cuando voy a la raíz, se carga y luego falla. Cuando voy a la URL del slug, lo mismo. Este error aparece:
url is pointing to root url has a slug throw err; // Rethrow non-MySQL errors¿Qué hice mal?
app.get( '/:slug', (req, res) => { connection.query(`select * from blogs where slug="${slug}"`, (error, results) => { if (error) console.log(error); console.log('url has a slug'); res.render( 'somepage', results ) } ) } ) app.get( '/', (req, res) => { connection.query(`select * from blogs`, (error, results) => { if (error) console.log(error); console.log('url is pointing to root'); res.render( 'index', { title: 'Home page', blogs: results } ) } ) } )Una posible explicación para el error que observa:
Después de cargar la página de inicio con GET / , los navegadores realizan una solicitud GET /favicon.ico adicional para recuperar el ícono que decora la pestaña del navegador (que es
en StackOverflow). Esa solicitud adicional sería atendida por su "ruta slug", con req.params.slug = "favicon.ico" . Espero que la variable slug en su código no esté definida. De todos modos, la declaración de select probablemente fallará durante esta solicitud adicional.