Maison  >  Questions et réponses  >  le corps du texte

La requête SQL n'apparaît pas sur un itinéraire spécifique dans Node.js

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粉770375450P粉770375450179 Il y a quelques jours353

répondre à tous(1)je répondrai

  • P粉038161873

    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

    répondre
    0
  • Annulerrépondre