jQuery.param()

Метод jQuery.param() представляет переданный объект (массив, JavaScript-объект или jQuery-объект) в формате строки запроса, которую можно подставлять в URL. Эта строка уже закодирована с помощью глобального метода encodeURIComponent().

Если передаётся jQuery-выборка, тогда она должна иметь элементы <input> с атрибутами name и value.

Если передаётся массив, то это должен быть массив объектов в формате, который возвращается методом serializeArray().

Варианты использования

jQuery.param(объект[, traditional]) => String
Представляет переданный объект в виде строки запроса и возвращает её. Необязательный параметр traditional определяет способ преобразования объектов и массивов в строку запроса:
  • true - стандартное преобразование (без преобразования вложенных объектов и массивов).
  • false - глубокое преобразование (рекурсивное преобразование всех вложенных объектов и массивов). Используется по умолчанию.

Примеры

<html>
<head>
  <title>Ajax в jQuery</title>
  <script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
  <p class="par1"></p>
  <p class="par2"></p>
  <p class="par3"></p>
</body>
</html>
 
<script>
var obj = {
  options: {
    first: true,
    second: false
  },
  values: [1, 2, 3]
};
 
$('.par1').html('Закодированная строка с рекурсивным преобразованием:<br><b>' + $.param(obj) + '</b>');
$('.par2').html('Раскодированная строка с рекурсивным преобразованием:<br><b>' + decodeURIComponent($.param(obj)) + '</b>');
$('.par3').html('Раскодированная строка без рекурсивного преобразования:<br><b>' + decodeURIComponent($.param(obj, true)) + '</b>');
</script>

Закодированная строка с рекурсивным преобразованием:
options%5Bfirst%5D=true&options%5Bsecond%5D=false&values%5B%5D=1&values%5B%5D=2&values%5B%5D=3

Раскодированная строка с рекурсивным преобразованием:
options[first]=true&options[second]=false&values[]=1&values[]=2&values[]=3

Раскодированная строка без рекурсивного преобразования:
options=[object Object]&values=1&values=2&values=3