首页  >  问答  >  正文

SQL 查询未显示在 Node.js 的特定路由中

我是 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 结果。

P粉770375450P粉770375450179 天前355

全部回复(1)我来回复

  • 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

    回复
    0
  • 取消回复