node.js - 求大神帮忙分析一下可能会是什么问题,用nodejs写的后台,只能刷三下,就挂了
高洛峰
高洛峰 2017-04-17 12:05:51
[MySQL讨论组]

nodejs写的后台,只是很简单的从数据库取出项目的信息。
例如 url:http://localhost:7778/project
就返回数据库中所有的项目信息
具体代码

//得到所有状态为已立项、进行中、已结项(学校项目),报名中、进行中、已结束(自创项目)的简短信息(id,name,category,creator,status)
router.get('/', function (req, res,next) {
    var db = req.db;
    var result = [];
    var simpleProject;
    var data = {
        status: false,
        message : ""
    }
    db.getConnection(function (err, conn) {
        if (err)  sendData(req,res,next,conn,err);
        else {
            //取出所有项目简短信息
            db.query('SELECT projectId as id,projectName as name,categoryName as category,projectStatus as status, creatorName as creator, startTime,endTime FROM project_info WHERE projectStatus in (3,4,6,7,8,9)', function (err, rows) {
                if (err) {
                    sendData(req, res, next, conn, err);
                } else {
                    for (var i in rows) {

                        //新建project对象
                        simpleProject = new simpleProjectModel(rows[i].id, rows[i].name, rows[i].category, rows[i].creator,rows[i].startTime,rows[i].endTime, rows[i].status);
                        result.push(simpleProject);
                    }
                    res.send(result);
                    conn.release();
                }
            })
        }
    })
});

但是访问第三下就挂掉了,可能是什么原因啊?谢谢

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
黄舟

首先你把数据库操作写在这个相当于controller的部分里,不是很好(没说错误的,只是逻辑多了可复用性就不好)。
然后你这个var db = req.db;有点看不懂

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号