Работа с параметрами адресной строки

Дальнейшие действия потребуют модуль url. Модуль встроен в nodejs, так что его не нужно устанавливать с nodejs.

var url = require("url");

Работа с GET-параметрами

Допустим у нас есть строка

http://test.com?page=25&foo=bar

После вопроса у нас в строке находится два GET-параметра page и foo. Для их получения нам понадобится метод url.parse . На выходе мы получаем объект parts, у которого будет два свойства parts.query.page и parts.query.foo со значениями параметров page и query

var url = require("url");
var parts = url.parse("http://test.com?page=25&foo=bar", true);
parts.query.page++;// увеличение значения GET-параметра page на единицу

Если же мы хотим получить GET-параметры из текущего url, то нам понадобится свойство request.url (request - это объект запроса в сервере)

Попробуем создать echo-сервер - то есть сервер, который будет возвращать значение GET-параметра, который мы передали


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

var server = http.createServer(function(req, res) {
  var parts = url.parse(req.url,true);
  res.writeHead(200);
  res.end(parts.query.name); //выводим GET-параметр name
});

server.listen(8080);

Для проверки запускаем сервер и вводим в адресную строку браузера

localhost:8080/?name=petya

Должна вывестись страница с именем petya

Работа с pretty-urls

Иногда нам нужно считывать не GET-параметры, а извлекать путь после доменного имени

Например, у нас есть адрес

http://localhost:8080/check?login=petya

Нам нужно достать из этого адреса слово /check . В этом нам поможет строчка

 var pathname = url.parse(request.url).pathname;

Дополнительные материалы: https://millermedeiros.github.io/mdoc/examples/node_api/doc/url.html

Практика:

  1. Создать echo-сервер. Скрипт считывает значение какого-то GET-параметра и выводит его значение.
  2. Сделать сервер, который получает на вход два параметра a и b и выводит их сумму.
  3. Сделать сервер, который выводит форму с запросом логина и пароля и кнопкой отправки. После отправки данных проверяем смог пользователь залогиниться или нет - выводим соответствующие сообщения.
  4. Реализовать игру угадай число. Есть форма, в которую пользователь вводит число. Есть три возможных ситуации: 1) он угадал число, тогда программа его поздравляет сообщением, 2) число пользователя меньше - выводим фразу "Меньше" и форму для ввода нового числа. 3) число пользователя больше - выводим фразу "Больше" и форму для ввода нового числа.

results matching ""

    No results matching ""