夺命雷公狗---node.js---10之POST的接收
首先我们在项目下创建一个表单,代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>form表单测试</h1>
<form name="index" action="/post" method="post">
<label>USER:<input type="text" name="user" ></label><br />
<label>PASS:<input type="text" name="password" ></label><br />
<label>EMAIL:<input type="text" name="email" ></label><br />
<label>ADDRESS:<input type="text" name="address" ></label><br />
<input type="submit" value="OK">
<input type="reset" value="重置">
</form>
</body>
</html>
上面的name是一定要有的,因为我们到时候是通过他来对表单进行访问的,然后开始编写index.js文件,代码如下所示:

var http = require('http'),
fs = require('fs'),
url = require('url'),
util = require('util'),
querystring = require('querystring');
var server = http.createServer(function(req,res){
var pathname = url.parse(req.url).pathname;
if(pathname == '/index'){
var pageContent = fs.readFile('index.html','utf-8',function(err,data){
if(err){
console.log('Server error:111');
}else{
res.writeHead(200,{"Content-Type":"text/html"});
res.write(data);
res.end();
}
});
}else if(pathname == '/post'){
var post = '';
req.on('data',function(chunk){
post += chunk;
});
req.on('end',function(){
post = querystring.parse(post);
res.writeHead(200,{"Content-Type":"text/html"});
res.write('user is '+ post.user + '<br />');
res.write('password is '+ post.password + '<br />');
res.write('email is '+ post.email + '<br />');
res.write('address is '+ post.address);
res.end();
});
}else{
res.writeHead(404,{"Content-Type":"text/plain"});
res.end('error:404');
console.log('error');
}
});
server.listen(3323);
console.log('@http://localhost:3323');
然互我们通过http://localhost:3323/index 这样的方法对她进行访问,效果如下所示:

点击提交过后即可获取到结果:

夺命雷公狗---node.js---10之POST的接收的更多相关文章
- 夺命雷公狗---node.js---4net模块(上)
node.js为我们提供了一个net模块,主要是为了提供了一些底层通信的小工具,包含了创建服务器/客户端方法,引入方式也很简单: var net = require('net'); net模块也为我们 ...
- 夺命雷公狗---node.js---3commonJs 与 nodeJs的简介
JavaScript是一个强大面向对象语言,它有很多快速高效的解释器.官方JavaScript标准定义的API是为了构建基于浏览器的应用程序.然而,并没有定于一个用于更广泛的应用程序的标准库. Com ...
- 夺命雷公狗---node.js---2node.js中的npm的常用命令
npm install <name> 安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本 ...
- 夺命雷公狗---node.js---12之fs模块文件的操作
node比客户端浏览器的js强的地方之一就是他的文件操作模块,可以直接对系统的文件进行操作 再打开来看下是否发生了变化,由此可见node的强大的地方了.. 实际代码如下所示: /** * Create ...
- 夺命雷公狗---node.js---9实现页面的跳转
废话不多说,我们先来看看项目的文件结构,如下所示: 然后我们创建一个index.js的文件让他来做端口监听,代码如下所示: var http = require('http'); var fs = r ...
- 夺命雷公狗---node.js---15之加密
node其实也给我们留下了密码的加密发送,不过一般都是用cmd5加密其实也是够了,但是sha1加密也要提下: /** * Created by leigood on 2016/8/31. */ var ...
- 夺命雷公狗---node.js---14之DNS
node下如果想域名解析是需要通过apache或者ng的反向版定才可以实现的,但是他也给我们留下了哟套DNS操作方法: /** * Created by leigood on 2016/8/30. * ...
- 夺命雷公狗---node下的一聊天室-首发
今晚感觉挺蛋疼,就用了点时间,在node下开发了个聊天室来玩玩,不过之是简单的开发了套而已,并没多做什么考虑,, 但是发现了一个好处就是用node来写聊天室代码居然少得可怜,这个不佩服node都不行, ...
- 夺命雷公狗---node.js---11之文件上传
我们在做文件上传前需要用npm来安装一个插件先, 首先打开项目所在的目录,然后按住shift键然后右键鼠标进入命令行安装formidable 然后开始编写上传的静态页面: <!DOCTYPE h ...
随机推荐
- C++ 线程类的一个实现
.h #ifndef CTHREAD_H_ #define CTHREAD_H_ #include "plat.h" class CThread { public: enum { ...
- php--yii2框架错误提示
if($code!=200){ $user=new UserAuth(); $user->mobile=$register['mobile']; $user->password=md5($ ...
- JSON格式解析和libjson使用简介(关于cjson的使用示例)
JSON格式解析和libjson使用简介 在阅读本文之前,请先阅读下<Rss Reader实例开发之系统设计>一文. Rss Reader实例开发中,进行网络数据交换时主要使用到了两种数据 ...
- Top 30 Nmap Command Examples For Sys/Network Admins
Nmap is short for Network Mapper. It is an open source security tool for network exploration, securi ...
- [LeetCode]题解(python):078 Subsets
题目来源 https://leetcode.com/problems/subsets/ Given a set of distinct integers, nums, return all possi ...
- RaspberryPi uart
通过调试口查看树莓派开机启动信息,学习python控制串口的方法. 参考链接: http://www.elinux.org/Serial_port_programming 硬件连接: 硬件原理图链接: ...
- css中的zoom的使用
css中的zoom的使用 zoom : normal | number normal : 默认值.使用对象的实际尺寸 number : 百分数 | 无符号浮点实数.浮点实数值为1.0或百分数为1 ...
- shell脚本调试技术_转
转自:http://itlab.idcquan.com/linux/SHELL/727128.html 参考:https://linux.cn/article-8045-1.html 本文全面系统地介 ...
- SQL Server翻译目录
从SQLServerCentral翻译部分Stairways文章,设置目录方便阅读(2015-12更新)SQL Server代理系列第一篇 SQL Server代理概述第二篇 SQL Server代理 ...
- pymongo使用总结
0. 何为pymongo pymongo是操作MongoDB的python模块 1.安装pymongo # easy_install pymongo 2.连接mongodb >>> ...