You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

server.js中数据库模块失效 本地访问接口无响应问题求助

问题原因&修复方案

核心问题点

  • 路由逻辑中未实际执行数据库查询方法:你在server.js的根路径GET路由里只写了db.getUsers,这是对函数的引用而非调用,也没有传入请求、响应对象参数,请求进入后没有执行任何查询逻辑,也没有给客户端返回响应,所以会一直加载无响应。
  • 模块导入路径不匹配:你的数据库查询代码文件名为database.js,但server.js中导入时写的是require('./queries'),路径错误会导致无法正确获取导出的getUsers方法,如果你实际本地文件名就是queries.js可忽略这条。
  • body-parser模块冗余:目前Express v4.16.0之后的版本已经内置了请求体解析能力,不需要额外安装引入body-parser模块,功能完全等效。

修正后的代码

server.js

const express = require('express');
const db = require('./database'); // 路径和实际文件名保持一致

const server = express();
const PORT = process.env.PORT || 3000;

// 用Express内置方法替代body-parser
server.use(express.urlencoded({ extended: false }));
server.use(express.json());

server.get('/', (req, res) => {
    db.getUsers(req, res); // 调用方法并传入req、res参数
});

server.listen(PORT, ()=>{
    console.log(`Server listening on port ${PORT}...`);
});

可选优化(database.js)

如果需要明确返回JSON格式响应,可以把res.send替换为res.json,语义更清晰:

const getUsers = (req, res) => {
    pool.query(`SELECT * FROM test_table`, (error, results) =>{
        if (error) {
            throw error;
        }
        res.status(200).json(results.rows);
    });
}

内容的提问来源于stack exchange,提问作者lorenzo_dlr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 07:48:02