js:使用nodejs为页面传递mysql中的数据
一,使用express模块创建服务器
1、安装express:命令 1、 npm -g install express 2、npm install express
安装ejs视图模板:npm –g install --save ejs
2,在js文件中创建服务器
var express = require('express'); var fs= require('fs'); var url = require('url'); var app = express(); //使用mysql模块 var mysql = require('mysql'); /*app.engine('.html', require('ejs').__express);*/ app.set('view engine', 'ejs'); app.set('views', __dirname + '/views'); app.use(express.static( __dirname+"/public")); //设置路由 var router=express.Router(); /*后台的功能,除了访问静态页面以外,还需要处理数据与逻辑 如果要处理数据与逻辑首先需要创建一个路由 * */ /*var router=express.Router(); router.get("/index",function(req,res){ res.render('ee/index'); //res.render('t/result.ejs',{"mes":"胡歌跪地签名小女孩跪地舔水喝穿警服直播被拘留华谊兄弟收警示函邹市明疑突发失明熊猫鹏鹏不治身亡韩国自杀男星出殡苹果回应速度变慢老赖登闹市大屏幕女模特开豪车醉驾范丞丞正式出道买越南新娘被遣返500斤小伙离世私搭VPN获利判刑"}); }); app.use('/action',router);*/ router.get("/index",function(req,res){ var connection=getConnection(); //使用数据库命令查找数据 excuteQuery("SELECT t.title,t.new_id,t.news_type_id,t.new_date,d.name FROM t_news t JOIN t_type_id d on t.news_type_id=d.t_type_id" ,connection,function(result){ //console.log(result.data[0].title); //发送数据到指定页面 res.render('ee/index',{args: result}); }) }); app.use('/action',router); //通过此方法获取mysql数据库的数据 function excuteQuery(sql,connection,fun){ connection.query(sql, function (error, rows) { var result=""; if (error) { result = { "status": "500", "message": "服务器错误" } }else{ result = { "status": "200", "message": "success", "data":rows } } fun(result); }); } //通过此方法连接数据库 function getConnection(){ var connection = mysql.createConnection({ host: 'localhost',//数据库地址 user: 'dyb',//数据库用户名 password:'1743721550',//数据库密码 port: '3306',//数据库端口号 database: 'test'//数据库名 }); connection.connect(); return connection; } app.listen(3001,function afterListen(){ console.log("express running ...."); });
3,在页面接收数据
<div> <ul class="list-content"> <%
//接收数据并遍历 args.data.forEach(function(row){ /*for(var i=0;i<args.length;i++){*/ if(row.new_id<=5){ %> <li><a href=""><%=row.title%></a></li> <%}})%> </ul> <ul class="list-content"> <% args.data.forEach(function(row){ if(row.new_id>5){%> <li><a href=""><%=row.title%></a></li> <%}})%> </ul> </div>