Maison > Questions et réponses > le corps du texte
Je suis nouveau sur javascript et nodejs et j'ai une question
J'ai un code sur lequel je travaille dans une API simple mais j'ai du mal à comprendre pourquoi cela se produit
app.get('/api/list_all', (req, res) => { get_info(`SELECT * FROM users;`, function(result){ res.json(result); }); });
J'ai cette route qui répertorie tous les utilisateurs de localhost mysql à l'écran. La connexion fonctionne bien mais lorsque j'entre dans l'itinéraire elle renvoie un écran vide avec "[]" (liste vide)
La console et la page html n'affichent aucune erreur
Mais quand je change uniquement le parcours de "list_all" sans la partie "api", tout se passe bien. Comme ça :
app.get('/list_all', (req, res) => { get_info(`SELECT * FROM users;`, function(result){ res.json(result); }); });
Il me renvoie une réponse SQL.
La question est : pourquoi cela ne fonctionne-t-il pas lorsque je fournis une "API" sur l'itinéraire ?
Fonction "get_info" :
function get_info(sql_data, callback){ con.getConnection((error, conn) => { if (error) { throw error; } conn.query( sql_data, (error, resultado) => { conn.release(); if (error) { throw error; } return callback(resultado) } ) }) }
Je souhaite que la route "api/list_all" renvoie normalement les résultats SQL pour tous les utilisateurs.
P粉0381618732024-04-04 09:33:11
Vous avez peut-être importé le mauvais code dans le fichier de votre serveur principal
Si le code affiché ci-dessus se trouve dans un fichier différent de votre fichier server, vous devez ajouter la ligne app.use('/api/list_all',imported_route) ;
dans server.js et modifier le code en
app.get('/', (req, res) => { get_info(`SELECT * FROM users;`, function(result){ res.json(result); }); });
Voir la question précédente pour plus d'aide Le routage n'utilise pas les API Node.js et Express.js