SQL-Abfrage wird in einer bestimmten Route in Node.js nicht angezeigt
P粉770375450
P粉770375450 2024-04-04 00:24:22
0
1
500

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粉770375450
P粉770375450

Antworte allen(1)
P粉038161873

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

如果上面显示的代码与您的 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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage