Mysql To Charts(五)--routers文件
2016-03-28 20:04
633 查看
在Mysql To Charts(二)–相关知识点中已经提到,路由文件中路由控制
定义了一系列路由代码,可以接收用户请求后渲染模板页面返回给客户端
对于routers下的.js文件的实现,现在先看看路由设计的一些方法
其中
1. ‘/’:对应的“/”下的页面
2. ‘index’:对应到views文件下的同名.ejs文件(即index.ejs)
3. title/company:传到index.ejs文件的参数
现看看index.js文件的具体实现
现需要的是为每个项目做为一个页面曲线图展示,故每个项目都定义一个.ejs文件,在index.js中映射响应的子页面
定义一个函数
将所有项目定义一个数组
然后直接遍历数组,调用函数即可
在index.js文件中,必须还得定义主界面
其中,在Mysql To Charts(四)中提到的在index.js文件中请求数据库,让绘图的data中进行回调
定义了一系列路由代码,可以接收用户请求后渲染模板页面返回给客户端
对于routers下的.js文件的实现,现在先看看路由设计的一些方法
创建路由
//加载express框架 var express = require('express'); //创建一个express实例 var app = express(); //创建express的路由功能,可以根据需要创建多个路由,需要多少,创建多少。 var router = express.Router();
router.use方法
//路由,类似于java中的拦截器功能,在请求到达后台之前,先在这里处理 router.use(function(req, res, next) { req.query["name"] = "tom"; console.info('进入路由,添加一个参数name=tom'); //next的作用是将请求转发,这个必须有,如果没有,请求到这就挂起了 next(); });
router.get方法
//加载路由,获取'/'页面 router.get('/', function(req, res, next) { res.render('index', { title: 'SeewoSoftware', company: 'CVTE' }); });
其中
1. ‘/’:对应的“/”下的页面
2. ‘index’:对应到views文件下的同名.ejs文件(即index.ejs)
3. title/company:传到index.ejs文件的参数
现看看index.js文件的具体实现
现需要的是为每个项目做为一个页面曲线图展示,故每个项目都定义一个.ejs文件,在index.js中映射响应的子页面
定义一个函数
function subitemPage(project) { router.get('/'+project, function (req, res, next) { res.render(project, { title: project+'数据统计' }); }); }
将所有项目定义一个数组
var projectList = new Array( 'EasiNote3', 'EasiNote5', 'SeewoRemote', 'EasiBroadcast', 'EasiNet', 'jianjishi', 'EasiCamera', 'ArmyShow', 'SeewoAir', 'SeewoLink', 'shoukebao', 'EasiConnect', 'SeewoOS', 'SeewoCare', 'SeewoAdmin', 'UnifiedLanding', 'SeewoBBS', 'EN5Admin', 'TeacherTraining', 'SeewoClass', 'EasiNote4Linux' );
然后直接遍历数组,调用函数即可
for(var i=0;i<projectList.length;i++){ subitemPage(projectList[i]); }
在index.js文件中,必须还得定义主界面
/* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'SeewoSoftware', company: 'CVTE' }); });
其中,在Mysql To Charts(四)中提到的在index.js文件中请求数据库,让绘图的data中进行回调
/** * 请求数据库数据 */ router.get('/NextPage/report/data', function (req, res, next) { jiraMysqlQuery.checkProjectBugNumber(req.param('projectName'), function(error, data) { if(error) { res.send({stateCode: 500}); }else { res.send(data); } }); });
相关文章推荐
- Navicat for MySQL每次打开数据库时,总是弹出“取得ER图表信息”框的解决方法
- 针对mysql基础数据类型测试
- MySQL 分区表
- Mysql中文乱码问题(unbutu)
- MySQL 5.7 版本登录报 error 1524: plugin ... in not loaded
- mysql-用户管理 用户无法本地登陆
- Mysql 语句汇总(性能篇)
- mysql5.6源码安装
- mysql note
- mysql error code '1064' 排查过程
- MySQL常用命令
- mysql定时创建MERGE分表
- 小白求解C环境的问题
- 如何利用脚本实现MySQL的快速部署以及一机多实例的部署
- mysql优化-- int类型解析及其优化
- 无法远程访问 MySQL
- MySQL 数据表创建详细SQL语法
- 解决MySql Error Code: 2006 – MySQL 服务器已离线 错误
- MySQL数据库相关操作
- 安装完Mysql,mysql -u root -p出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using pass