搜尋

首頁  >  問答  >  主體

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粉770375450232 天前463

全部回覆(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
  • 取消回覆