I am new to javascript and nodejs and I have a question
I have a code that I'm working on in a simple API but I'm having a hard time understanding why this is happening
app.get('/api/list_all', (req, res) => {
get_info(`SELECT * FROM users;`, function(result){
res.json(result);
});
});
I have this route that lists all users of localhost mysql on the screen. The connection works fine but when I enter directions it returns a blank screen with "[]" (empty list)
The console and html page do not show any errors
But when I only change the route of "list_all" without the "api" part, everything goes fine. like this:
app.get('/list_all', (req, res) => {
get_info(`SELECT * FROM users;`, function(result){
res.json(result);
});
});
It returns me the SQL response.
The question is: Why doesn't it work when I provide "api" on the route?
Function "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)
}
)
})
}
I hope that route "api/list_all" can return SQL results for all users normally.
You may have imported the wrong code into the main server file
If the code shown above is in a different file than your server file, you should add the line
app.use('/api/list_all',imported_route) in server.js ;Then change the code toapp.get('/', (req, res) => { get_info(`SELECT * FROM users;`, function(result){ res.json(result); }); });For more help, see the previous question Routing does not use the Node.js and Express.js API