nodeJs学习-04 POST数据请求,分段发送,分段接收
const http = require("http");
const querystring= require('querystring'); http.createServer(function(req,res){
//post —— req
// POST很大,会分段发送,分段接收
// data - 有一段数据到达触发(多次)
// end - 数据全部到达触发(一次) var str = ''; //存放数据
req.on('data',function(data){
console.log("接收data一次");
str+=data;
}); req.on('end',function(){
// console.log(str); //userName=aaa&pass=fdsalfjdsl&content=lsafjdla70455
var postData = querystring.parse(str);
console.log(postData); // { userName: 'fsadsafd', pass: 'adsfsafdsa', content: 'fasdfasfzxvxcbvasgasdgsad' }
}); res.end(); }).listen(8081)
案例:post和get
const http = require('http');
const fs = require('fs');
const querystring = require('querystring');
const urlLib = require('url'); var server = http.createServer(function(req,res){
//GET数据
var obj = urlLib.parse(req.url,true);
var url = obj.pathname;
const GET = obj.query; // POST数据
var str = '';
req.on('data',function(data){
str+=data;
}); req.on('end',function(){
const POST = querystring.parse(str);
/*
url - 要什么
GET - get数据
POST - post数据
*/
console.log(url,GET,POST);
// 当为post请求时,GET为空 /aaa {} { userName: 'post', pass: 'daf', content: 's' }
// 当为get请求时,POST为空 /aaa { userName: 'afdaf', pass: 'dafsaf', content: 'adsf' } {}
}); //文件请求
var file_name = "section05/www"+ url;
fs.readFile(file_name,function(err,data){
console.log('文件'+file_name);
if(err){
res.write('404')
}else{
res.write(data)
};
res.end();
}) }).listen(8081);
nodeJs学习-04 POST数据请求,分段发送,分段接收的更多相关文章
- nodeJs学习-03 GET数据请求,js拆解/querystring/url
原生JS解析参数: const http = require('http'); http.createServer(function(req,res){ var GET = {}; //接收数据容器 ...
- boost asio 学习(八) 网络基础 二进制写发送和接收
http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting- started-with-boostasio?pg=9 8. Net ...
- (转载)JavaWeb学习总结(五十一)——邮件的发送与接收原理
博客源地址:http://www.cnblogs.com/xdp-gacl/p/4209586.html 一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电 ...
- JavaWeb学习总结(五十一)——邮件的发送与接收原理
一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.sohu ...
- 从零开始学习Node.js例子六 EventEmitter发送和接收事件
pulser.js /* EventEmitter发送和接收事件 HTTPServer和HTTPClient类,它们都继承自EventEmitter EventEmitter被定义在Node的事件(e ...
- nodejs学习笔记<四>处理请求参数
在web开发中处理请求参数是个非常常见的工作:nodejs提供了了querystring用来处理请求参数. querystring常用方法有:parse,stringify. (1)parse: 解析 ...
- C#中UDP数据的发送、接收
Visual C# UDP数据的发送、接收包使用的主要类及其用法: 用Visual C# UDP协议的实现,最为常用,也是最为关键的类就是UdpClient,UdpClient位于命名空间System ...
- nodejs 中 接受前端的数据请求的处理
前台 ----> 后台 后台要接受 前台的数据,只能通过 http 但是 前台接受 后台的数据有 from ajax jsonp nodejs 给我们提供了模块 url 模块,可以 ...
- mpvue学习笔记-之微信小程序数据请求封装
简介 美团出品的mpvue已经开源出来很久了,一直说要进行一次实践,这不最近一次个人小程序开发就用上了它. 看了微信官方的数据请求模块--request,对比了下get和post请求的代码,发现如果在 ...
随机推荐
- 跟我一起做一个vue的小项目(四)
接下来我们进行的是轮播页面下面的导航页的开发 我们需要的是实现轮播页下面的图标,并且实现轮播效果 这个话,其实基本思路先是渲染出小图标,然后,我们要对页数进行判断,如果图标的个数展示的就是8个,那个这 ...
- macOS下安装openCV+Xcode配置
macOS下安装openCV+Xcode配置打开终端 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Hom ...
- Django项目:CRM(客户关系管理系统)--21--13PerfectCRM实现King_admin分页页数
{#table_data_list.html#} {## ————————08PerfectCRM实现King_admin显示注册表的字段表头————————#} {% extends 'king_m ...
- 整体二分(模板) 求区间第k小
整体二分,将询问与初值一起放入一个结构体里,然后每次二分判断询问在哪边,树状数组维护,时间复杂度O((n+Q)lognlogMAX_a[i] 代码 #include<iostream> # ...
- poj 1269 Intersecting Lines(判断两直线关系,并求交点坐标)
Intersecting Lines Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12421 Accepted: 55 ...
- day36 09-Hibernate中的事务:事务处理
什么是丢失更新呢?有一条数据你查出来了,查出来之后有一个事务A和一个事务B也都过来操作同一个记录.A拿到这条记录之后可能改它的某一个值了,B拿到这条记录之后改它的另外一个值.这个时候A事务提交已经提交 ...
- linux实时系统监控工具mpstat
mpstat (RHEL5默认不安装) mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件 ...
- Leetcode34.Find First and Last Position of Element in Sorted Array在排序数组中查找元素的位置
给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在目标值,返回 [ ...
- 模拟20 题解(waiting)
留坑待填 T2 #include<cstdio> #include<vector> #include<cstring> #include<iostream&g ...
- CMD格式数据表输出语句
mysql --default-character-set=latin1 -uroot -p