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);

 

转载于:https://www.cnblogs.com/LChenglong/p/11585705.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值