簡體   English   中英

Express JS路由和mysql查詢無法正常工作

[英]Express js routing and mysql query not working

我剛剛開始學習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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM