#mysql #node.js #express #fetch #crud
Вопрос:
Я столкнулся с проблемой в своем проекте, я пытался сделать CRUD с помощью MVC, но когда я запускаю код, он не возвращает никаких данных из бд, соединение работает нормально, я не знаю, почему оно не работает. Я использую NodeJS Express и mysql.
вот мой код :
index.js:
db.connect(function(err) { if (err) { return console.error('error: ' err.message); } console.log('Connected to the MySQL server.'); }); const usersRouter= require("./routes/routes"); app.use("/api/", usersRouter)
routes.js:
// get latest record of airMonitoring router.get("/", airController.getAllData);
Model.js:
const AirMonitoring = function(table){ this.id = table.id; this.Temperature = table.Temperature; this.Humidity = table.Humidity; this.AirCondition = table.AirCondition; } // get all data from airMonitoring AirMonitoring.getAllData = ( result) =gt;{ db.query('SELECT * FROM AirMonitoring', (err, res)=gt;{ if(err){ console.log('Error while fetching airMonitoring', err); result(err, null); }else{ console.log('AirMonitoring fetched successfully'); result(res, null); } }) }
Controller.js:
exports.getAllData = (req, res)=gt; { AirModel.getAllData((err, airMonitoring) =gt;{ if(err) res.send(err); console.log('data', airMonitoring); res.send(airMonitoring) }) }
и ошибка, полученная от почтальона :
консоль ошибок :
Ответ №1:
Вам нужно res
перезвонить в своем if (err)
заявлении. Если вы не добавите возврат, он продолжит выполнение следующих кодов.
if(err) return res.send(err);
Опять же, ваша ошибка произошла из-за чего-то до этого.
Комментарии:
1. Я попытался отредактировать его, но все равно теперь он повторяется : Ошибка при извлечении airMonitoring Ошибка: подключение ETIMEDOUT
2. тогда это ваша ошибка mysql