Node.js 中的数据块


Node.js 或任何其他语言中的数据块可定义为客户端发送给所有服务器的数据片段。服务器生成这些块的数据流并形成缓冲流。此缓冲流然后转换为有意义的数据。

语法

request.on('eventName', [callback] )

参数

下面介绍了这些参数:-

  • eventName − 是将触发的事件的名称。

  • callback − 如果发生任何错误,则此回调函数将处理该错误。

示例

创建一个名为 "index.js" 的文件并复制以下代码片段。在创建文件后,使用命令 "node index.js" 来运行此代码。

// Data Chunk Example in Node

// Importing the http module
const http = require('http');

// Creating a server
const server = http.createServer((req, res) => {
   const url = req.url;
   const method = req.method;

   if (url === '/') {
      // Defining the HTML page
      res.write('<html>');
      res.write('<head><title>Enter Message</title><head>');
      res.write(`<body><form action="/message" method="POST">
      <input type="text" name="message"></input>
      <button type="submit">Send</button></form></body></html>`);
      res.write('</html>');
      return res.end();
   }

   // POST Request for sending data
   if (url === '/message' && method === 'POST') {
      const body = [];

      req.on('data', (chunk) => {

         // Saving the chunk data at server
         body.push(chunk);
         console.log(body)
      });
      req.on('end', () => {
         // Parsing the chunk data in buffer
         const parsedBody = Buffer.concat(body).toString();
         const message = parsedBody.split('=')[1];

         // Printing the data
         console.log(message);
      });

      res.statusCode = 302;
      res.setHeader('Location', '/');
      return res.end();
   }
});

// Starting the server
server.listen(3000);

输出

C:\home
ode>> node index.js [ <Buffer 6d 65 73 73 61 67 65 3d 57 65 6c 63 6f 6d 65 2b 74 6f 2b 54 75 74 6f 72 69 61 6c 73 2b 50 6f 69 6e 74 2b 25 32 31 25 32 31 25 32 31> ] Welcome+to+Tutorials+Point+%21%21%21

更新时间: 18-Aug-2021

4K+ 浏览量

开启您的 职业

完成课程获得认证

开始
广告