var http = require('http');
var url = require('url');
var router = require('./router');
// 创建服务端口为8000
http.createServer(function(request,response){// 判断是否为第二次访问if(request.url!=='/favicon.ico'){var pathname = url.parse(request.url).pathname;// 去除路径中的 /pathname = pathname.replace(/\//,'');try{router[pathname](request,response);}catch(err){console.log(err);response.writeHead(200,{'Contet-Type':'text/html;charset=utf-8'});response.write(err.toString());response.end('');}}
}).listen(8000);
console.log('Server is running in port 8000');

var url = require('url');
var readhtml = require('./readhtml');var querystring = require('querystring');
function getRecall(req,res){res.writeHead(200,{'Contet-Type':'text/html;charset=utf-8'});function recall(data){res.write(data);res.end('');}return recall;
}module.exports={login:function(req,res){// post 提交方式// 定义一个post变量,用于暂时储存请求体的信息var post = '';// 通过req的data事件监听函数,每当接受到请求体的数据,就到post变量中req.on('data',function(chunk){post +=chunk;          });// 注意异步// 在end事件触发后,通过querystring.parse将post街恶习为真正的post格式,然后向客户端返回req.on('end',function(){post = querystring.parse(post);//console.log('接受的参数'+ post['email']+'\n'+post['pwd']);arr = ['email','pwd'];function recall(data){dataStr = data.toString();for(var i =0;i<arr.length;i++){re = new RegExp('{'+arr[i]+'}','g');dataStr = dataStr.replace(re,post[arr[i]]);}res.write(dataStr);res.end('');}console.log('email===='+post['email']);console.log('password='+post['pwd']);// 接受到所有参数再显示页面readhtml.login('./login.html',recall);});   },showimg:function(req,res){res.writeHead(200,{'Contet-Type':'text/html;charset=utf-8'});readhtml.showimg('./1.jpg',res);}
}
var fs = require('fs');module.exports = {login:function(path,recall){fs.readFile(path,function(err,data){if(err){console.log(err)recall('文件不存在。') // 返回异常信息}else{recall(data);}    });},showimg:function(path,res){fs.readFile(path,'binary',function(err,filedata){if(err){console.log(err);return;}else{res.write(filedata,'binary');res.end('');}});}
}
<!doctype html>
<html lang="en"><head><meta charset="UTF-8"><meta name="Generator" content="EditPlus®"><meta name="Author" content=""><meta name="Keywords" content=""><meta name="Description" content=""><title>Document</title></head><body>登录界面<img src='./showimg'/><h1>email是:{email}</h1>    <h1>密码是:{pwd}</h1><form action='./login' method='post'><table align='center'><tr><td>email:</td><td><input type='text' name='email' /></td></tr><tr><td>密码:</td><td><input type='password' name='pwd'/></td></tr><tr><td align='center'><input type='submit' value='登录'/></td></tr></table></form></body>
</html>

主要就是,在往页面传数据的时候,根据正则表达式,把对应的字段替换掉。

nodejs 做动态网页相关推荐

  1. nodejs生成动态网页

    tuwen.js var optfile = require('../module/optfile.js'); var imgFile=require('../module/image.js'); v ...

  2. 各种动态网页技术的特点与区别

    html: 只支持静态的文字和图片 不能与用户进行交互 cgi (common gateway interface): 效率较低,编程困难 cgi可以用不同的语言编写,常用的是C/C++,perl语言 ...

  3. nodejs 爬取动态网页

    文章目录 前言 准备工作 创建工程 今日头条爬虫代码 后记 前言 昨天实现了草榴的爬取 nodejs 做一个简单的爬虫爬草榴,今天对代码做了一部分修改,增加了可以指定开始页和结束页,并且给所有文件都单 ...

  4. Python 爬虫修养-处理动态网页

    Python 爬虫修养-处理动态网页 本文转自:i春秋社区 0x01 前言 在进行爬虫开发的过程中,我们会遇到很多的棘手的问题,当然对于普通的问题比如 UA 等修改的问题,我们并不在讨论范围,既然要将 ...

  5. Python爬虫 - 解决动态网页信息抓取问题

    作者:K同学啊 时间:2020年7月29日 写在前面:本文仅供参考学习之用,请勿用作其他用途. 1.嵌入式网页爬取 举例:最常见的分页式网页 这里我用天津市的信访页面来做示例,(地址:http://w ...

  6. python3 requests 动态网页post提交数据_Python爬虫三:动态网页爬虫

    1. 利用API爬取数据 有时,使用BeautifulSoup解析和提取数据后,输出结果为空.这是由于网页使用了另一种加载数据的方式--通过API加载数据.API(Application Progra ...

  7. 动态网页中隐藏url参数传递的方法

    做过网站开发的朋友肯定知道,我们在做动态网站的时候往往会在各个页面之间传递参数,而这些参数的名称和值都会在url地址栏中被暴露出来,有的时候参数的名称可能就是数据库中某个字段的名称,这样一方面不安全, ...

  8. 静态网页和动态网页的区别(转载)

    以下内容转载自:点击打开链接 一.静态web页面: 1.在静态Web程序中,客户端使用Web浏览器(IE.FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Re ...

  9. PHP动态网页转换HTML的一个简单办法

    PHP开发工具的优势 作为一种简单而高效的Server端嵌入语言,PHP已成为Internet上最流行的一种动态网站制作工具.它不但能够对多种数据库提供良好支持,而且与其它的Server端脚本语言如A ...

  10. 实战|Python轻松实现动态网页爬虫(附详细源码)

    用浅显易懂的语言分享爬虫.数据分析及可视化等干货,希望人人都能学到新知识. 项目背景 事情是这样的,前几天我公众号写了篇爬虫入门的实战文章,叫做<实战|手把手教你用Python爬虫(附详细源码) ...

最新文章

  1. 图像处理与计算机视觉开源软件库及学习站点
  2. 数据结构笔记--栈的总结及java数组实现简单栈结构
  3. MyBatis-generator使用,Example缺少分页问题解决
  4. Java 数组及多维数组
  5. mysql sql select for update_mysql SELECT FOR UPDATE语句使用示例
  6. ubuntu虚拟机联网
  7. 瀑布流式页面布局_微信小程序——实现简单的瀑布流式布局
  8. python的误差条形图的解释_python – Seaborn因子图自定义误差条
  9. C#利用NPOI导出Excel
  10. 如何对物联网数据进行大数据分析
  11. 提取网页内容-Python
  12. python调用gephi_如何将python代码连接到gephi?
  13. 2022.11.05 第六次周报
  14. AUTOCAD——自定义特殊线型
  15. 通过singlefile把网页保存到本地
  16. RISC-V指令集架构优势
  17. 如何将 ONLYOFFICE 文档与 Sharepoint 进行连接
  18. el-table横向滚动时表头与内容串位问题
  19. htb-shocker
  20. CentOS 7 安装windows字体

热门文章

  1. java close 方法_Java PushbackReader close()方法与示例
  2. 关于ubantu安装cmake
  3. (转)C# 温故而知新:Stream篇(五)
  4. OpenNI和Kinect安装中文教程
  5. Live-Charts在WPF中的使用
  6. MySQL运行内存设置
  7. java多线程聊天室_JAVA多线程网络聊天室代码
  8. java获取指定日期当月和下个月的第一天
  9. Reactor反应器模式
  10. android远程输入法,远程输入法