gpt4 book ai didi

javascript - Express js 路由和 mysql 查询不起作用

转载 作者:行者123 更新时间:2023-11-30 00:03:15 24 4
gpt4 key购买 nike

我刚刚开始学习Node和Express,我对express中的路由有一些疑问。我想要一个模块化的路由代码。我想从mysql数据库查询一些数据:

这是我的 app.js(位于“public_html”目录中):

var path = require('path');
var express = require('express');
var routes = require('./routes');
var app = express();

var staticPath = path.resolve(__dirname, './');
app.use(express.static(staticPath));

routes.init(app);
module.exports = app;

app.listen(3000, function() {
console.log('Server is listening on port: 3000');
});

下一个文件:“public_html/routes/index.js”:

exports.init = function(app){

//electronics routes
app.use('/laptop', require('./laptop'));
};

“public_html/routes/laptop/index.js”:

var router = require('express').Router();
router.get('/laptop', require('./modules/laptop'));
module.exports = router;

“public_html/routes/laptop/modules/laptop.js”:

var mysql = require('mysql');

var connection = mysql.createConnection(
{
host : 'localhost',
user : 'admin',
password : 'xxxxxxx',
database : 'database',
}

);

module.exports = function(req, res){

connection.connect();

var queryString = 'SELECT * FROM laptop';

connection.query(queryString, function(err, rows, fields) {
if (err) throw err;

res.writeHead(200, { 'Content-Type': 'application/json'});
res.end(JSON.stringify(rows));
});

connection.end();
};

我想保持这种模块化,即使它看起来有点过于复杂,将来我会需要它。所以问题是它不起作用,我认为这只是某个地方的一个愚蠢错误,但我没有找到它,并且在互联网上只有简单的路线示例,所以我不能在这种情况下使用它们。

最佳答案

问题很可能出在您的路由中。

您正在 /laptop 安装一个单独的路由器。在安装的路由器中,您将在其之上设置 /laptop (GET) 路由,因此完整路径将为 /laptop/laptop

关于javascript - Express js 路由和 mysql 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24840330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com