Строка запроса
Исходный код: 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<объект>-
decodeURIComponent<функция> Функция для использования при декодировании процентов-кодированных символов в строке запроса. По умолчанию:querystring.unescape(). -
maxKeys<число> Указывает максимальное количество ключей для разбора. Укажите0для удаления ограничений подсчёта ключей. По умолчанию:1000.
-
Метод 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/api/querystring.html