nodejs 做动态网页
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 做动态网页相关推荐
- nodejs生成动态网页
tuwen.js var optfile = require('../module/optfile.js'); var imgFile=require('../module/image.js'); v ...
- 各种动态网页技术的特点与区别
html: 只支持静态的文字和图片 不能与用户进行交互 cgi (common gateway interface): 效率较低,编程困难 cgi可以用不同的语言编写,常用的是C/C++,perl语言 ...
- nodejs 爬取动态网页
文章目录 前言 准备工作 创建工程 今日头条爬虫代码 后记 前言 昨天实现了草榴的爬取 nodejs 做一个简单的爬虫爬草榴,今天对代码做了一部分修改,增加了可以指定开始页和结束页,并且给所有文件都单 ...
- Python 爬虫修养-处理动态网页
Python 爬虫修养-处理动态网页 本文转自:i春秋社区 0x01 前言 在进行爬虫开发的过程中,我们会遇到很多的棘手的问题,当然对于普通的问题比如 UA 等修改的问题,我们并不在讨论范围,既然要将 ...
- Python爬虫 - 解决动态网页信息抓取问题
作者:K同学啊 时间:2020年7月29日 写在前面:本文仅供参考学习之用,请勿用作其他用途. 1.嵌入式网页爬取 举例:最常见的分页式网页 这里我用天津市的信访页面来做示例,(地址:http://w ...
- python3 requests 动态网页post提交数据_Python爬虫三:动态网页爬虫
1. 利用API爬取数据 有时,使用BeautifulSoup解析和提取数据后,输出结果为空.这是由于网页使用了另一种加载数据的方式--通过API加载数据.API(Application Progra ...
- 动态网页中隐藏url参数传递的方法
做过网站开发的朋友肯定知道,我们在做动态网站的时候往往会在各个页面之间传递参数,而这些参数的名称和值都会在url地址栏中被暴露出来,有的时候参数的名称可能就是数据库中某个字段的名称,这样一方面不安全, ...
- 静态网页和动态网页的区别(转载)
以下内容转载自:点击打开链接 一.静态web页面: 1.在静态Web程序中,客户端使用Web浏览器(IE.FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Re ...
- PHP动态网页转换HTML的一个简单办法
PHP开发工具的优势 作为一种简单而高效的Server端嵌入语言,PHP已成为Internet上最流行的一种动态网站制作工具.它不但能够对多种数据库提供良好支持,而且与其它的Server端脚本语言如A ...
- 实战|Python轻松实现动态网页爬虫(附详细源码)
用浅显易懂的语言分享爬虫.数据分析及可视化等干货,希望人人都能学到新知识. 项目背景 事情是这样的,前几天我公众号写了篇爬虫入门的实战文章,叫做<实战|手把手教你用Python爬虫(附详细源码) ...
最新文章
- 图像处理与计算机视觉开源软件库及学习站点
- 数据结构笔记--栈的总结及java数组实现简单栈结构
- MyBatis-generator使用,Example缺少分页问题解决
- Java 数组及多维数组
- mysql sql select for update_mysql SELECT FOR UPDATE语句使用示例
- ubuntu虚拟机联网
- 瀑布流式页面布局_微信小程序——实现简单的瀑布流式布局
- python的误差条形图的解释_python – Seaborn因子图自定义误差条
- C#利用NPOI导出Excel
- 如何对物联网数据进行大数据分析
- 提取网页内容-Python
- python调用gephi_如何将python代码连接到gephi?
- 2022.11.05 第六次周报
- AUTOCAD——自定义特殊线型
- 通过singlefile把网页保存到本地
- RISC-V指令集架构优势
- 如何将 ONLYOFFICE 文档与 Sharepoint 进行连接
- el-table横向滚动时表头与内容串位问题
- htb-shocker
- CentOS 7 安装windows字体