comparison xml/ru/docs/njs/reference.xml @ 2583:cd97adddd757

Documented Query String in njs Reference.
author Yaroslav Zhuravlev <yar@nginx.com>
date Tue, 11 Aug 2020 12:35:32 +0100
parents e162a71453b0
children 7035221dbe37
comparison
equal deleted inserted replaced
2582:e162a71453b0 2583:cd97adddd757
7 <!DOCTYPE article SYSTEM "../../../../dtd/article.dtd"> 7 <!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
8 8
9 <article name="Справочник" 9 <article name="Справочник"
10 link="/ru/docs/njs/reference.html" 10 link="/ru/docs/njs/reference.html"
11 lang="ru" 11 lang="ru"
12 rev="51"> 12 rev="52">
13 13
14 <section id="summary"> 14 <section id="summary">
15 15
16 <para> 16 <para>
17 <link doc="index.xml">njs</link> предоставляет объекты, методы и свойства 17 <link doc="index.xml">njs</link> предоставляет объекты, методы и свойства
1255 1255
1256 </section> 1256 </section>
1257 1257
1258 </section> 1258 </section>
1259 1259
1260
1261 <section id="querystring" name="Query String">
1262
1263 <para>
1264 Модуль Query String предоставляет поддержку
1265 синтаксического разбора и форматирования строки запроса URL.
1266 (<link doc="changes.xml" id="njs0.4.3">0.4.3</link>).
1267 Объект модуля Query String доступен через
1268 <literal>require('querystring')</literal>.
1269 </para>
1270
1271 <para>
1272 <list type="tag">
1273
1274 <tag-name id="querystring_decode"><literal>querystring.decode()</literal></tag-name>
1275 <tag-desc>
1276 является псевдонимом для
1277 <link id="querystring_parse"><literal>querystring.parse()</literal></link>.
1278 </tag-desc>
1279
1280 <tag-name id="querystring_encode"><literal>querystring.encode()</literal></tag-name>
1281 <tag-desc>
1282 является псевдонимом для
1283 <link id="querystring_stringify"><literal>querystring.stringify()</literal></link>.
1284 </tag-desc>
1285
1286 <tag-name id="querystring_escape"><literal>querystring.escape(<value>строка</value>)</literal></tag-name>
1287 <tag-desc>
1288 <para>
1289 Кодирует заданную <literal>строку</literal>,
1290 возвращает экранированную строку.
1291 Метод используется методом
1292 <link id="querystring_stringify"><literal>querystring.stringify()</literal></link>
1293 и не должен использоваться напрямую.
1294 </para>
1295 </tag-desc>
1296
1297 <tag-name id="querystring_parse"><literal>querystring.parse(<value>строка</value>[,
1298 <value>separator</value>[,
1299 <value>equal</value>[,
1300 <value>options</value>]]])</literal></tag-name>
1301 <tag-desc>
1302 <para>
1303 Осуществляет синтаксический разбор строки запроса и возвращает объект.
1304 </para>
1305
1306 <para>
1307 Параметр <literal>separator</literal> является подстрокой,
1308 разделяющей в строке запроса пары ключей и значений,
1309 по умолчанию “<literal>&amp;</literal>”.
1310 </para>
1311
1312 <para>
1313 Параметр <literal>equal</literal> является подстрокой,
1314 разделяющей в строке запроса ключи и значения,
1315 по умолчанию “<literal>=</literal>”.
1316 </para>
1317
1318 <para>
1319 Параметр <literal>options</literal> должен быть
1320 объектом со следующими ключами:
1321 <list type="tag">
1322 <tag-name><literal>decodeURIComponent</literal>
1323 <value>функция</value></tag-name>
1324 <tag-desc>
1325 Функция, используемая
1326 при декодировании процентно-кодированных символов в строке запроса,
1327 по умолчанию
1328 <link id="querystring_unescape"><literal>querystring.unescape()</literal></link>
1329 </tag-desc>
1330
1331 <tag-name><literal>maxKeys</literal>
1332 <value>число</value></tag-name>
1333 <tag-desc>
1334 максимальное число ключей для синтаксического разбора,
1335 по умолчанию <literal>1000</literal>.
1336 Значение <literal>0</literal> удаляет ограничение на подсчёт ключей.
1337 </tag-desc>
1338
1339 </list>
1340 По умолчанию предполагается, что процентно-кодированные символы в строке запроса
1341 используют кодировку UTF-8,
1342 неверная последовательность байтов UTF-8 будет заменена на
1343 <literal>U+FFFD</literal>.
1344 </para>
1345
1346 <para>
1347 Пример для строки запроса:
1348 <example>
1349 'foo=bar&amp;abc=xyz&amp;abc=123'
1350 </example>
1351 результат:
1352 <example>
1353 {
1354 foo: 'bar',
1355 abc: ['xyz', '123']
1356 }
1357 </example>
1358 </para>
1359
1360 </tag-desc>
1361
1362 <tag-name id="querystring_stringify"><literal>querystring.stringify(<value>object</value>[,
1363 <value>separator</value>[,
1364 <value>equal</value>[,
1365 <value>options</value>]]])</literal></tag-name>
1366 <tag-desc>
1367 <para>
1368 Осуществляет синтаксический разбор объекта и возвращает строку запроса.
1369 </para>
1370
1371 <para>
1372 Параметр <literal>separator</literal> является подстрокой,
1373 разделяющей в строке запроса пары ключей и значений,
1374 по умолчанию “<literal>&amp;</literal>”.
1375 </para>
1376
1377 <para>
1378 Параметр <literal>equal</literal> является подстрокой,
1379 разделяющей в строке запроса ключи и значения,
1380 по умолчанию “<literal>=</literal>”.
1381 </para>
1382
1383 <para>
1384 Параметр <literal>options</literal> должен быть
1385 объектом со следующими ключами:
1386 <list type="tag">
1387 <tag-name><literal>encodeURIComponent</literal>
1388 <value>функция</value></tag-name>
1389 <tag-desc>
1390 Функция, используемая при декодировании
1391 URL-небезопасных символов в в процентно-кодированные символы в строке запроса,
1392 по умолчанию
1393 <link id="querystring_escape"><literal>querystring.escape()</literal></link>.
1394 </tag-desc>
1395
1396 </list>
1397 </para>
1398
1399 <para>
1400 По умолчанию символы, требующие процентной кодировки внутри строки запроса,
1401 кодируются в UTF-8.
1402 Если требуется другая кодировка, то
1403 необходимо указать опцию <literal>encodeURIComponent</literal>.
1404 </para>
1405
1406 <para>
1407 Пример:
1408 <example>
1409 querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], 123: '' });
1410 </example>
1411 результат:
1412 <example>
1413 'foo=bar&amp;baz=qux&amp;baz=quux&amp;123='
1414 </example>
1415 </para>
1416
1417 </tag-desc>
1418
1419 <tag-name id="querystring_unescape"><literal>querystring.unescape(<value>строка</value>)</literal></tag-name>
1420 <tag-desc>
1421 <para>
1422 Осуществляет декодирование процентно-кодированных символов URL
1423 в <literal>строке</literal>,
1424 возвращает неэкранированную строку запроса.
1425 Метод используется методом
1426 <link id="querystring_parse"><literal>querystring.parse()</literal></link>
1427 и не должен использоваться напрямую.
1428 </para>
1429 </tag-desc>
1430
1431 </list>
1432 </para>
1433
1434 </section>
1435
1260 </section> 1436 </section>
1261 1437
1262 </article> 1438 </article>
1263 1439