Heim > Fragen und Antworten > Hauptteil
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粉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