Heim  >  Fragen und Antworten  >  Hauptteil

SQL-Abfrage wird in einer bestimmten Route in Node.js nicht angezeigt

Ich bin neu in Javascript und NodeJS und habe eine Frage

Ich habe einen Code, an dem ich in einer einfachen API arbeite, aber es fällt mir schwer zu verstehen, warum das passiert

app.get('/api/list_all', (req, res) => {
    get_info(`SELECT * FROM users;`, function(result){
        res.json(result);
    });
});

Ich habe diese Route, die alle Benutzer von localhost mysql auf dem Bildschirm auflistet. Die Verbindung funktioniert einwandfrei, aber wenn ich die Route eingebe, erscheint ein leerer Bildschirm mit „[]“ (leere Liste)

Die Konsole und die HTML-Seite zeigen keine Fehler an

Aber wenn ich nur die Route von „list_all“ ohne den „api“-Teil ändere, geht alles gut. So:

app.get('/list_all', (req, res) => {
    get_info(`SELECT * FROM users;`, function(result){
        res.json(result);
    });
});

Es gibt eine SQL-Antwort an mich zurück.

Die Frage ist: Warum funktioniert es nicht, wenn ich „API“ auf der Route bereitstelle?

Funktion „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)
            }
        )
    })
}

Ich möchte, dass die Route „api/list_all“ normal SQL-Ergebnisse für alle Benutzer zurückgibt.

P粉770375450P粉770375450179 Tage vor359

Antworte allen(1)Ich werde antworten

  • P粉038161873

    P粉0381618732024-04-04 09:33:11

    您可能将错误的代码导入到主服务器文件中

    如果上面显示的代码与您的 server 文件位于不同的文件中,您应该在 server.js 中添加行 app.use('/api/list_all',imported_route) ; 然后将代码更改为

    app.get('/', (req, res) => {
        get_info(`SELECT * FROM users;`, function(result){
            res.json(result);
        });
       });

    有关更多帮助,请参阅上一个问题路由不使用 Node.js 和 Express.js API

    Antwort
    0
  • StornierenAntwort