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);
复制代码

 

posted @   LIULIULIU666  阅读(819)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示