十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章给大家介绍怎么在nodejs 中实现动态html,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
目前累计服务客户数千家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供成都网站建设、成都网站设计、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联公司始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。
动态替换html内容
1.实现的功能及原理
实现了将,用户表单的数据,与html相结合,将用户输入的数据,显示到html对应的位置。
原理:通过正则表达式,替换html中的模板数据 如用户名{name},可以通过拿到用户提交的name的值value,通过
replace(正则表达式,value)的方式替换掉原模板数据,并输出到客户端。
2.主要用到的方法和模块
2.1文件操作模块 var fs=require("fs");
方法:
2.1.1 异步读取文件的方法
fs.readFile(path,callback);
参数说明:
path:文件的路径(包含文件名称)
callback:文件读取完毕的回调函数
文件读取的数据,从该方法获得,会自动填充
callback:function(err,data){ if(err){ //读取文件错误的逻辑 }else{ //对数据的操作,如打印 console.log(data); } }
2.2 数据处理模块 var querystring=require("querystring");
方法:
2.2.1 将字符串转换成对象
querystring.parse(post);
2.3 post请求主要方法
监听有post数据上传的方法:request.on('data',funcation(chunk){ //chunk post数据碎片 }); 监听post数据上传完毕的方法:request.on('end',function(){ //相关逻辑 });
3.核心代码requestHandler.js
/* 请求处理 * */ //加载node非阻塞线程模块 //var exec=require("child_process").exec; //加载queryString模块和文件上传模块 var http = require("http"); var formidable = require('formidable'); var fs = require("fs"); var path = require("path"); var querystring=require("querystring"); function login(request, response) { var post=""; //监听post发送请求 request.on('data',function (chunk) { post += chunk; }); //数据接收完毕 request.on('end',function(){ post=querystring.parse(post); /*替换的数据模板字段*/ var arr=["name","password"]; function recall (data) { dataStr = data.toString(); //遍历模板字段 for (var i = 0; i < arr.length; i++) { //全局替换 var re=new RegExp('{'+arr[i]+'}','g'); dataStr=dataStr.replace(re,post[arr[i]]); } response.writeHead(200, {"Content-Type": "text/html"}); response.write(dataStr); response.end(); } fs.readFile("login.html",function (err,data) { recall(data); }); }); } function index (request, response) { fs.readFile("login.html",function (err,data) { if (err) { throw err.toString(); } else{ response.writeHead(200, {"Content-Type": "text/html"}); response.write(data); response.end(); } }) } exports.login = login; exports.index=index;
4.html模板
用户名:{name}
密 码:{password}
关于怎么在nodejs 中实现动态html就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。