Този урок е достъпен само в платената версия на курса.
Вземи достъп до всички уроци 💫 цена: 99лв.
Основи на уеб програмирането
Друга важна функция на всеки 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 библиотеката.