我是 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粉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
#