我在node js中将数据库连接到项目,连接工作正常,但是当我尝试使用get操作检索数据时,出现了一个我无法解决的错误
sql连接
const mysql = require("mysql");
const connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "my password",
database: "test"
});
connection.connect(function (err) {
if (err) throw err
console.log("connection");
})
module.exports = { connection }
从页面请求
const express = require("express");
const {connection} = require('../../dbConected')
const router = express.Router();
const {
getallstudents
} = require('../controllers/student')
router.get("/", getallstudents)
module.exports = router;
控制器
const {connection} = require('../../dbConected')
module.exports = {
getallstudents:
connection.query("SELECT * FROM test.student",function (err,result){
if (err) throw err;
console.log(result);
})
}
错误
get()需要一个回调函数,但得到了一个[object Object]
和
[nodemon]应用程序崩溃-启动前正在等待文件更改...
谢谢你的帮忙
3条答案
按热度按时间xkftehaa1#
这里的主要问题是路由器。get需要一个函数,但在示例中有一个对象代替它。所以'getallstudents'必须是一个函数。
将此更改为
lsmepo6l2#
您需要传递一个回调,它将成为
router.get
、RTM https://expressjs.com/en/guide/routing.html的控制器然后在这段代码中:
而不是执行
if (err) throw err; console.log(result);
,发送回响应。或类似:
什么是
next(err)
,rtm:https://expressjs.com/en/guide/error-handling.html#writing-error-handlers2eafrhcq3#
我在json文件中得到一个错误
“message”:“正在将循环结构转换为JSON\n --〉从具有构造函数'Query'的对象开始\n|property '_timer' -〉object with constructor 'Timer'\n --- property '_object'close the circle”
和GET /getallstudents 500 2.939 ms - 224