我是 javascript 和 nodejs 新手,我有一个问题
我有一个代码,我正在一个简单的 API 中工作,但我很难理解为什么会发生这种情况
app.get('/api/list_all', (req, res) => { get_info(`SELECT * FROM users;`, function(result){ res.json(result); }); });
我有这条路线可以在屏幕上列出本地主机 mysql 的所有用户。连接正常,但当我输入路线时,返回一个带有“[]”(空列表)的空白屏幕
控制台和html页面没有显示任何错误
但是当我只更改“list_all”的路线而没有“api”部分时,一切顺利。像这样:
app.get('/list_all', (req, res) => { get_info(`SELECT * FROM users;`, function(result){ res.json(result); }); });
它向我返回 SQL 响应。
问题是:为什么当我在路线上提供“api”时不起作用?
函数“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) } ) }) }
我希望路由“api/list_all”能够正常返回所有用户的 SQL 结果。
您可能将错误的代码导入到主服务器文件中
如果上面显示的代码与您的 server 文件位于不同的文件中,您应该在 server.js 中添加行
app.use('/api/list_all',imported_route) ;
然后将代码更改为有关更多帮助,请参阅上一个问题路由不使用 Node.js 和 Express.js API