nodejs 简单实现动态html的方法

前端之家收集整理的这篇文章主要介绍了nodejs 简单实现动态html的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

动态替换html内容

1.实现的功能及原理

实现了将,用户表单的数据,与html相结合,将用户输入的数据,显示到html对应的位置。

原理:通过正则表达式,替换html中的模板数据 如用户名{name},可以通过拿到用户提交的name的值value,通过

replace(正则表达式,value)的方式替换掉原模板数据,并输出到客户端。

2.主要用到的方法和模块

2.1文件操作模块 var fs=require("fs");

方法

2.1.1 异步读取文件方法

参数说明:

path:文件的路径(包含文件名称

callback:文件读取完毕的回调函数

文件读取的数据,从该方法获得,会自动填充

文件错误的逻辑 }else{ //对数据的操作,如打印 console.log(data); } }

2.2 数据处理模块 var querystring=require("querystring");

方法:

2.2.1 将字符串转换成对象

2.3 post请求主要方法

上传的方法:request.on('data',funcation(chunk){ //chunk post数据碎片 }); 监听post数据上传完毕的方法:request.on('end',function(){ //相关逻辑 });

3.核心代码requestHandler.js

文件上传模块 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",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模板

<Meta charset="UTF-8"> 用户名:{name}
密 码:{password}


以上这篇nodejs 简单实现动态html的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

原文链接:https://www.f2er.com/nodejs/32383.html

猜你在找的Node.js相关文章