首先我们在项目下创建一个表单,代码如下所示:

<!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的接收的更多相关文章

  1. 夺命雷公狗---node.js---4net模块(上)

    node.js为我们提供了一个net模块,主要是为了提供了一些底层通信的小工具,包含了创建服务器/客户端方法,引入方式也很简单: var net = require('net'); net模块也为我们 ...

  2. 夺命雷公狗---node.js---3commonJs 与 nodeJs的简介

    JavaScript是一个强大面向对象语言,它有很多快速高效的解释器.官方JavaScript标准定义的API是为了构建基于浏览器的应用程序.然而,并没有定于一个用于更广泛的应用程序的标准库. Com ...

  3. 夺命雷公狗---node.js---2node.js中的npm的常用命令

    npm install <name> 安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本 ...

  4. 夺命雷公狗---node.js---12之fs模块文件的操作

    node比客户端浏览器的js强的地方之一就是他的文件操作模块,可以直接对系统的文件进行操作 再打开来看下是否发生了变化,由此可见node的强大的地方了.. 实际代码如下所示: /** * Create ...

  5. 夺命雷公狗---node.js---9实现页面的跳转

    废话不多说,我们先来看看项目的文件结构,如下所示: 然后我们创建一个index.js的文件让他来做端口监听,代码如下所示: var http = require('http'); var fs = r ...

  6. 夺命雷公狗---node.js---15之加密

    node其实也给我们留下了密码的加密发送,不过一般都是用cmd5加密其实也是够了,但是sha1加密也要提下: /** * Created by leigood on 2016/8/31. */ var ...

  7. 夺命雷公狗---node.js---14之DNS

    node下如果想域名解析是需要通过apache或者ng的反向版定才可以实现的,但是他也给我们留下了哟套DNS操作方法: /** * Created by leigood on 2016/8/30. * ...

  8. 夺命雷公狗---node下的一聊天室-首发

    今晚感觉挺蛋疼,就用了点时间,在node下开发了个聊天室来玩玩,不过之是简单的开发了套而已,并没多做什么考虑,, 但是发现了一个好处就是用node来写聊天室代码居然少得可怜,这个不佩服node都不行, ...

  9. 夺命雷公狗---node.js---11之文件上传

    我们在做文件上传前需要用npm来安装一个插件先, 首先打开项目所在的目录,然后按住shift键然后右键鼠标进入命令行安装formidable 然后开始编写上传的静态页面: <!DOCTYPE h ...

随机推荐

  1. php--字符串函数分类总结

    PHP语言中的字符串函数也是一个比较易懂的知识.今天我们就为大家总结了将近12种PHP字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的PHP知识库.   1.查找字符位置函数 strpos($s ...

  2. 改变当前shell工作目录

    执行脚本时候,只是在当前的shell下开了一个子进程,切换目录的操作只对该进程中相关后续指令有效,但改变不了父进程的目录. 解决方法: 法一: 用 source a.sh就行了. 法二: [fedor ...

  3. MongoDB非正常关闭后修复记录

    启动mongodb时出现如下错误: 根据提示可以知道错误原因是mongodb非正常关闭,此时需要对数据库进行修复.修复命令:mongod --repair 或 ./mongod --repair , ...

  4. H264关于RTP协议的实现

    完整的C/S架构的基于RTP/RTCP的H.264视频传输方案.此方案中,在服务器端和客户端分别进行了功能模块设计. 服务器端:RTP封装模块主要是对H.264码流进行打包封装:RTCP分析模块负责产 ...

  5. 长城坑爹宽带,劫持用户DNS赚取购物返利

    今天回来登录www.jd.com 打算淘点东西,登录后发现地址栏跳到 http://www.jd.com/?utm_source=click.linktech.cn&utm_medium=tu ...

  6. [LeetCode]题解(python):089 Gray Code

    题目来源 https://leetcode.com/problems/gray-code/ The gray code is a binary numeral system where two suc ...

  7. 判断cdn上的图片可以正常访问到

    昨天晚上cdn宕机1小时,要对上传的资检查,写了个简单的小脚本来实现上传过的资源都是正常的(其实非必须),就是练手防止生疏. arr.each do |a | res = Net::HTTP.get_ ...

  8. Selenium2学习-031-WebUI自动化实战实例-029-JavaScript 在 Selenium 自动化中的应用实例之四(获取元素位置和大小)

    通过 JS 或 JQuery 获取到元素后,通过 offsetLeft.offsetTop.offsetWidth.offsetHeight 即可获得元素的位置和大小,非常的简单,直接上源码了,敬请参 ...

  9. 从printf("\40d\n")看转义字符

    1.  八进制  十进制  十六进制 二进制:0 1 2 3 4 5 6 7    \0(或省略0,\) ,\28 按道理是错误的,但是C语言把它解释为 \2,8错误了就不考虑 十进制:0 1 2 3 ...

  10. linux php

    ubuntu php -v 查看php版本号 查看目录 cd / ls apache: 如果采用RPM包安装,安装路径应在/etc/httpd目录下 apache配置文件:/etc/httpd/con ...