<form class="form-horizontal" method="post" action="http:127.0.0.1:3000/post">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">姓名</label>
<div class="col-sm-4">
<input type="text" name="username" class="form-control" id="inputEmail3">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">性别</label>
<div class="col-sm-4">
<label class="radio-inline">
<input type="radio" name="sex" value="男" checked> 男
</label>
<label class="radio-inline">
<input type="radio" name="sex" value="女"> 女
</label>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">爱好</label>
<div class="col-sm-4">
<label class="checkbox-inline">
<input type="checkbox" name="hobby" checked value="把妹"> 把妹
</label>
<label class="checkbox-inline">
<input type="checkbox" name="hobby" value="睡觉"> 睡觉
</label>
<label class="checkbox-inline">
<input type="checkbox" name="hobby" value="dota"> Dota
</label>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">提交</button>
</div>
</div>
</form>
/**
* 原生node.js接收前台post请求数据
* 1、引入http,querystring(字符串解析)模块
* 2、创建http服务器,监听3000端口
* 3、判断路由是否为post和请求类型是否为post,如果是则进入请求接收处理
* 4、声明变量alldata 存储接收到的数据
* 5、绑定http请求的data事件,接收存储数据字符串
* 6、绑定http请求的end事件,处理接收到的数据字符串,转换为对象
* 7、输出
*/ //引入模块
var http = require('http');
var querystring = require('querystring'); //创建服务器
var server = http.createServer(function (req, res) {
if (req.url === '/post' && req.method.toLowerCase() === 'post') {
var alldata = '';
req.on('data', function (chunk) {
alldata += chunk;
}); req.on('end', function () {
res.end('success');
//将字符串转换位一个对象
console.log(alldata); //username=%E6%9D%8E%E5%9B%9B&sex=%E5%A5%B3&hobby=%E7%9D%A1%E8%A7%89&hobby=%E6%89%93%E8%B1%86%E8%B1%86
var dataString = alldata.toString();
//将接收到的字符串转换位为json对象
var dataObj = querystring.parse(dataString);
//输出数据
console.log(dataObj); //{ username: '王五', sex: '男', hobby: [ '把妹', '睡觉', 'Dota' ] }
console.log(dataObj.username); //王五
console.log(dataObj.sex); //男
console.log(dataObj.hobby); //[ '把妹', '睡觉', 'Dota' ]
});
};
});
//设置监听端口
server.listen(3000, "127.0.0.1", function () {
console.log("server is started listen port 3000");
});

Node.js之接收前台数据实例的更多相关文章

  1. node.js系列(实例):原生node.js实现接收前台post请求提交数据

    前台界面: 前台代码: <form class="form-horizontal" method="post" action="http:127 ...

  2. Node.js处理I/O数据之Buffer模块缓冲数据

    一.前传 在之前做web时也经常用到js对象转json和json转js对象.既然是Node.js处理I/O数据,也把这个记下来. Json转Js对象:JSON.parse(jsonstr); //可以 ...

  3. controller接收前台数据—中文乱码问题

    项目用的开发环境为tomcat+eclipse+SSM 正如题目,controller接收前台数据-中文乱码问题,在页面编码为UTF-8的前提下,解决方案有二: 一) controller接收数据时, ...

  4. 创建node.js一个简单的应用实例

    在node.exe所在目录下,创建一个叫 server.js 的文件,并写入以下代码: //使用 require 指令来载入 http 模块 var http = require("http ...

  5. node.js搭建代理服务器请求数据

    1.引入node.js中的模块 var http = require("http"); var url = require("url"); var qs = r ...

  6. node.js如何读取MySQL数据

    先安装mysql模块. node.js默认安装时,模块文件放在 /usr/local/lib/node_modules 这个目录下,为了便宜管理,模块还是统一安装到这里好. $ cd /usr/loc ...

  7. 用node.js(socket.io)实现数据实时推送

    在做商品拍卖的时候,要求在商品的拍卖页面需要实时的更新当前商品的最高价格.实现的方式有很多,比如: 1.setInterval每隔n秒去异步拉取数据(缺点:更新不够实时) 2. AJAX轮询方式方式推 ...

  8. Node.js爬取豆瓣数据

    一直自以为自己vue还可以,一直自以为webpack还可以,今天在慕课逛node的时候,才发现,自己还差的很远.众所周知,vue-cli基于webpack,而webpack基于node,对node不了 ...

  9. Node.js——body方式提交数据

    引入核心模块 http,利用其 api(http.createServer) 返回一个 http.server 实例,这个实例是继承于net.Server,net.Server 也是通过net.cre ...

随机推荐

  1. bootstrapTable刷新当前页码不变和从第一页开始查询

    function searchAgencyProject(){ $("#statisticalProjectListTable").bootstrapTable('refresh' ...

  2. [转]handsontable常规配置的中文API

    原文地址:http://blog.csdn.net/mafan121/article/details/46050049 常规配置: 1.固定行列位置 fixedRowsTop:行数 //固定顶部多少行 ...

  3. 未能加载文件或程序集“System.Web.Mvc, Version=3.0.0.0,

    直接下载安装 ASP.NET MVC 3.0就可以了

  4. python使用selenium

    首先安装 pip install selenium 测试抓取baidu,其中的chromedriver.exe需要自己下载,百度有很多的 import timefrom selenium import ...

  5. Java byte类型转换成int类型时需要 & 0XFF的原因

    Java byte类型转换成int类型时需要 & 0XFF的原因 假设有byte b  = -1; 那么b的二进制是:1111 1111. 如果将b直接转换为int类型,那么二进制是 1111 ...

  6. drupal8 管理入门

    https://www.drupal.org/node/1896670 本节将介绍新的Drupal8用户,网站管理.它涵盖了使用管理员帐户,并提供从哪里开始的建议. 了解管理员帐户 在安装过程结束时, ...

  7. 安装redis出现cc adlist.o /bin/sh:1:cc:not found

    安装redis时 提示执行make命令时, 提示 CC adlist.o /bin/sh: cc: 未找到命令 问题原因:这是由于系统没有安装gcc环境,因此在进行编译时才会出现上面提示,当安装好gc ...

  8. Spring Cloud Config 自动刷新所有节点 架构改造

    详细参考:<Sprin Cloud 与 Docker 微服务架构实战>p162-9.9.4节 要做的改动是: 1.在spring cloud config server 服务端加入 spr ...

  9. Overview & PPT 类型 & PPT 制作流程

    PPT 策略 PPT 不能当讲稿 初次制作PPT的人常常把PPT当成大号讲稿,把演示时所有要说的话都变成文字做到PPT里,这 样的结果是观众很难记住PPT里到底讲了些什么需要我们帮助他们将文字尽可能转 ...

  10. JS Window对象操作思维导图