nodejs如何获取数据库数据渲染页面?

nodejs如何获取数据库数据渲染页面?,第1张

首先这取决于你的首屏是怎么渲染的。

1、服务器端渲染:

后台把数据按照格式拼成html字符串(服务器端模板引擎最终也干的是这个,不过是更优雅而已),最终生成完整html文件

2、客户端渲染:

html文件只包含静态的内容,客户端打开html后再发起ajax请求去后台请求数据,前台拿到数据拼html字符串查到html文件里(同上,客户端模板引擎最终也干的是这个,不过是更优雅而已)。中国电信提供最优质的网络通讯服务,如需相关业务,可以直接通过电信网上营业厅或者实体营业厅查询。安徽电信竭诚为您服务。

nodejs 可以 直接 require JSON文件的....跟require JS文件一样

我想把数据库相关的地址端口,账号密码等等写到一个json文件里,然后node从json里读取

我用的mongoskin,我现在是在代码里写死的,比如:

var db = require('mongoskin').db('root:123@localhost:27017/xxxx')

如果要读json的话,要用fs模块,然后

var db

fs.readFile(json , function(err,data)) {

db = ......

}

转载,仅供参考。

1、跨进程通信

新版的nodejs里增加了对子进程的 *** 作,跨进程通信不是问题。

http://nodejs.org/docs/latest/api/all.html#child_Processes

复制代码 代码如下:

var util = require('util'),

exec = require('child_process').exec,

child

child = exec('cat *.js bad_file | wc -l',

function (error, stdout, stderr) {

console.log('stdout: ' + stdout)

console.log('stderr: ' + stderr)

if (error !== null) {

console.log('exec error: ' + error)

}

})

如例我们可以拿到控制台的输出内容stdout!

2、数据库访问相关ActiveX,ADODB.Connection

参考:http://msdn.microsoft.com/en-us/library/windows/desktop/aa746471%28v=vs.85%29.aspx

复制代码 代码如下:

var connection = new ActiveXObject("ADODB.Connection")

var result = 'ok'

try{

connection.Open("Provider=Microsoft.Jet.OLEDB.4.0Data Source=" + params.accessfile)

connection.Execute(params.sql)

} catch(ex){

result = ex.message

}

return {

result: result

}

connection.Open(connectionString),链接字符串参数可以设置访问sql server。

参考:http://www.connectionstrings.com/sql-server-2005

3、为方便维护,特别将cscript和nodejs的脚本合并,用typeof exports判断当前运行环境。

4、字符编码cscript代码使用ascii编码

非ascii码字符进行“\uHHHH”Unicode编码。

5、命令行字符需转义,双引号、百分号在命令行有特殊意义。

参数传递使用base64编码,避免冲突

cscript环境MSXML2.DOMDocument可以做base64编解码

复制代码 代码如下:

function base64Decode(base64){

var xmldom = new ActiveXObject("MSXML2.DOMDocument")

var adostream = new ActiveXObject("ADODB.Stream")

var temp = xmldom.createElement("temp")

temp.dataType = "bin.base64"

temp.text = base64

adostream.Charset = "utf-8"

adostream.Type = 1// 1=adTypeBinary 2=adTypeText

adostream.Open()

adostream.Write(temp.nodeTypedValue)

adostream.Position = 0

adostream.Type = 2// 1=adTypeBinary 2=adTypeText

var result = adostream.ReadText(-1)// -1=adReadAll

adostream.Close()

adostream = null

xmldom = null

return result

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10705393.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存