酸奶薯片

导航

nodejs-POST数据处理

GET数据:容量小 32K 数据在URL中
POST数据:数据量大 1G 分段传输 数据另外发

处理方法:

const http=require("http");

http.createServer(function(req,res){

    var i=0;
	var str='';//接受数据
	//data事件多次触发
	req.on("data",function(data){
		console.log(`第${i++}次收到数据`);
		str+=data;
	});

	req.on("end",function(){
		console.log(str);
	});

}).listen(8080);

改进简易服务器:

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;
		// console.log(str);
	});
	
	req.on("end",function(){
		const POST=querystring.parse(str);
		// cosole.log(url,GET);
		console.log(POST);
		var file_name="./www"+url; //读取WWW目录下的某个文件
		fs.readFile(file_name,function(err,data){
			if(err){
				res.write("404");
			}else{
				res.write(data);
			}
			res.end();
		});
	});
	//fs
	
});

server.listen(8083);

posted on 2017-03-04 16:34  酸奶薯片  阅读(269)  评论(0编辑  收藏  举报