end video

Този урок е достъпен само в платената версия на курса.

Вземи достъп до всички уроци 💫 цена: 99лв.

Ако вече имаш регистриран профил натисни тук.

§ Как да обработим входни от потребителя данни с Node.js

Друга важна функция на всеки HTTP сървър е да приема и обратва входни данни. В този урок ще видим как изглеждат тези процеси в Node.js среда.

Можем да използваме url npm модула за да извлечем GET параметри от заявката към нашия уеб сървър. Трябва да парснем URL адреса с помощта на url.parse() функцията и след това да се прочетем параметрите от обекта query.

Например:

const http = require('http');
const url = require('url');

const server = http.createServer((req, res) => {
  // Парсване на URL адреса
  const parsedUrl = url.parse(req.url, true);

  // Извличане на GET параметрите от обекта query
  const queryParams = parsedUrl.query;

  // Използване на параметрите
  const param1 = queryParams.param1;
  const param2 = queryParams.param2;
  // ...

  res.end();
});
server.listen(3000);

Ако трябва да извлезем данни от body частта на заявката ще трябва да използваме ReadableStream. Можем да мислим за stream-a като за поток от данни. Node.js предлага инструменти, с които можем да "слушаме" за конкретни събития идващи от съотвения stream.

let body = '';
req.on('readable', () => {
  const data = req.read();
  if (data !== null) {
    body += data;
  }
});
req.on('end', () => {
  console.log(body);
  res.writeHead(200, { 'Content-type': 'text/html' });
  res.end('Data is received');
});

В случая body съдържа данни изпратени от HTML форм-а през POST метод.


Във видео урока разглеждаме как този същия код може да бъде написан с express библиотеката.

questionnaire
discussion

Материали

Материали свързани с урока:
Файлове към урока
Express .query
Express .body

Материали

Следва: Node.js като среда за писане на скриптове(11:22)

Към урока →