本文需要用node.js做一个从sqlserver获取数据并显示到页面上的小功能,下面就为大家分享: app.js:
...
app.get('/sqlbll/:ver',function(req,res){
var versionId=req.params.ver;
//sqlbll.getData是路由中获取数据的方法,
//此处将第二个参数作为回调函数写入。
sqlbll.getData(versionId,function(data){
res.json(data);//发送json数据
});
});
//此处是路由文件
====sqlbll.js====
...
exports.getData = function(ver,back){
//...此处省略1000字获取sql数据的方法
back(jsondata)
}
接下来就直接在页面中使用get方式请求即可,当然post方式也是类似原理。
app.configure(function() {
//默认情况下Express并不知道该如何处理该请求体,因此我们需要增加bodyParser中间件,用于分析
//application/x-www-form-urlencoded和application/json
//请求体,并把变量存入req.body。我们可以像下面的样子来“使用”中间件[这个保证POST能取到请求参数的值]:
app.use(express.bodyParser());
});
//处理POST请求
//name和email是POST请求域中的参数名
app.post('/hello',res) {
.......
});
还有我发现textarea控件在改变其text和html属性的时候,value还保持原来的值, 这个特性让我之前匪夷所思了好一阵子。
下面就为大家分享另一个例子,
nodejs获取具体某张数据表信息
,具体内容如下<div class="jb51code">
<pre class="brush:js;">
var MysqL = require('MysqL');
var conn = MysqL.createConnection({
host: 'localhost',user: 'root',password: '123456',database:'MysqL',port: 3306
});
var tempArr = new Array();
conn.connect();
conn.query("show tables",function(err,results)
{
if(err)
{
throw err;
}
if(results)
{
for(var i = 0; i < results.length; i++)
{
tempArr[i] = results[i];
var a = tempArr[i];
console.log(typeof(results[i]));
console.log(a);
var temp = "";
temp+=a.TablesinMysqL;
console.log("temp"+i+" "+temp);
conn.query("select * from"+ " "+ temp,function selectCb(err,result,fields){
if(err)
{
throw err;
}
console.log("数据表:" + results[i]);
console.log(fields);
});
}
}
})