Строка запроса
Исходный код: lib/querystring.js
Модуль node:querystring предоставляет утилиты для разбора и форматирования строк запроса URL. К нему можно получить доступ, используя:
const querystring = require('node:querystring'); copy querystring более производителен, чем <URLSearchParams>, но не является стандартным API. Используйте <URLSearchParams>, если производительность не является критически важной или требуется совместимость с кодом браузера.
querystring.decode()
Функция querystring.decode() является псевдонимом для querystring.parse().
querystring.encode()
Функция querystring.encode() является псевдонимом для querystring.stringify().
querystring.escape(str)
-
str<строка>
Метод querystring.escape() выполняет URL-кодирование процентов для заданной str способом, оптимизированным для конкретных требований строк запроса URL.
Метод querystring.escape() используется querystring.stringify() и обычно не предназначен для прямого использования. Он экспортируется в основном для того, чтобы код приложения мог предоставить альтернативную реализацию кодирования процентов, при необходимости, назначив querystring.escape альтернативной функции.
querystring.parse(str[, sep[, eq[, options]]])
-
str<строка> Строка запроса URL для разбора -
sep<строка> Подстрока, используемая для разделения пар ключ-значение в строке запроса. По умолчанию:'&'. -
eq<строка>. Подстрока, используемая для разделения ключей и значений в строке запроса. По умолчанию:'='. -
options<объект>
Метод querystring.parse() анализирует строку запроса URL (str) в коллекцию пар ключ-значение.
Например, строка запроса 'foo=bar&abc=xyz&abc=123' анализируется в:
{
foo: 'bar',
abc: ['xyz', '123']
} copy Объект, возвращаемый методом querystring.parse(), не протопически наследуется от JavaScript Object. Это означает, что типичные методы Object, такие как obj.toString(), obj.hasOwnProperty(), и другие не определены и не будут работать.
По умолчанию, предполагается, что символы, закодированные в процентах в строке запроса, используют кодировку UTF-8. Если используется альтернативная кодировка символов, то необходимо указать альтернативный параметр decodeURIComponent.
// Assuming gbkDecodeURIComponent function already exists...
querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,
{ decodeURIComponent: gbkDecodeURIComponent }); copy
querystring.stringify(obj[, sep[, eq[, options]]])
-
obj<объект> Объект, который нужно сериализовать в строку запроса URL -
sep<строка> Подстрока, используемая для разделения пар ключ-значение в строке запроса. По умолчанию:'&'. -
eq<строка>. Подстрока, используемая для разделения ключей и значений в строке запроса. По умолчанию:'='. -
options-
encodeURIComponent<функция> Функция, используемая для преобразования символов, небезопасных в URL, в кодировку процентов в строке запроса. По умолчанию:querystring.escape().
-
Метод querystring.stringify() создает строку запроса URL из заданного obj, перебирая "собственные свойства" объекта.
Он сериализует следующие типы значений, переданных в obj: <строка> | <число> | <bigint> | <boolean> | <массив строк> | <массив чисел> | <массив bigint> | <массив boolean> Числовые значения должны быть конечными. Любые другие входные значения будут преобразованы в пустые строки.
querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });
// Returns 'foo=bar&baz=qux&baz=quux&corge='
querystring.stringify({ foo: 'bar', baz: 'qux' }, ';', ':');
// Returns 'foo:bar;baz:qux' copy По умолчанию символы, требующие кодирования процентов в строке запроса, будут закодированы как UTF-8. Если требуется альтернативная кодировка, то необходимо указать альтернативный параметр encodeURIComponent.
// Assuming gbkEncodeURIComponent function already exists,
querystring.stringify({ w: '中文', foo: 'bar' }, null, null,
{ encodeURIComponent: gbkEncodeURIComponent }); copy
querystring.unescape(str)
-
str<строка>
Метод querystring.unescape() выполняет декодирование символов URL, закодированных в процентах, в заданной str.
Метод querystring.unescape() используется querystring.parse() и обычно не предназначен для прямого использования. Он экспортируется в основном для того, чтобы код приложения мог предоставить альтернативную реализацию декодирования, при необходимости, назначив querystring.unescape альтернативной функции.
По умолчанию, метод querystring.unescape() будет пытаться использовать встроенный метод JavaScript decodeURIComponent() для декодирования. Если это не удастся, будет использоваться более безопасный эквивалент, который не выбросит ошибку при некорректных URL.
© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v18.x/docs/api/querystring.html