我是node.js中的新手 我寫了一個userModel
模塊來使用MySQL來完成數據庫的工作,而且工作正常,但這只是第一次。當我刷新頁面MySQL數據返回nullnodejs中的mysql函數只是第一次工作
userModel.js //我的模塊
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "database"
});
module.exports = {
allUsers: function (callback) {
con.connect(function (err1) {
if (err1){
return callback(err1, null);
}
con.query("SELECT * FROM users", function (err2, result, fields) {
if (err2){
return callback(err2, null);
}
callback(err2, result);
});
});
}
};
app.js //主JS文件
var express = require('express'),
bodyParser = require('body-parser'),
_ = require('underscore');
var app = express();
var port = process.env.PORT || 8080;
var User = require('./models/userModels');
var bookRouter = express.Router();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
bookRouter.route('/books')
.get(function (req, res) {
User.allUsers(function (err, results) {
var id = req.query.id;
var somre = _.find(results , function (param) { //result is null in second refresh
return param['id'] == id;
});
console.log(results);
res.send(somre);
});
})
app.use('/api' , bookRouter)
app.get('/' , function (req , res) {
res.send('welcome to my API');
});
你可以嘗試控制檯記錄err變量,看看你有什麼嗎?看起來像是出了問題。 – itsmichaelwang
正確...看看'callback'的兩個調用。其中一個從字面上傳遞'null'的結果。這是什麼時候出現錯誤。嘗試用'console.log'檢查錯誤。 – Brandon
@Brandon是的,我有這個錯誤'錯誤:在已經排隊握手之後不能排隊握手。「# –