jQuery функция $.param()

Определение и применение

jQuery функция $.param() создает сериализованное представление массива, простого объекта, или объекта jQuery, которое подходит для использования в строке URL запроса, или AJAX запроса. В случае, если передан объект jQuery, то он должен содержать элементы ввода, содержащие пары имя/значение.

jQuery синтаксис:

Синтаксис 1.2:

JavaScript
$.param( obj )

obj - Array, или PlainObject, или jQuery object

Синтаксис 1.4:

JavaScript
$.param( obj, traditional )

obj - Array, или PlainObject, или jQuery object

traditional - Boolean

Добавлен в версии jQuery

1.2 (синтаксис расширен в версии 1.4)

Значения параметров

Параметр Описание
obj Массив, простой объект, или объект jQuery, предназначенный для сериализации.
traditional Логическое значение, указывающее, следует ли проводить традиционную сериализацию при котором преобразование вложенных объектов и массивов не производится. По умолчанию значение соответствует false (преобразование вложенных объектов и массивов производится).

Пример использования

Пример использования jQuery функции .getScript()

Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.

index.html
HTML
<button>serialize</button>
<button>traditional</button>
<p></p>
main.js
JavaScript
$(document).ready(function () {
    var myObj = {
        a: { one: 1, two: 2, three: 3 },
        b: [1, 2, 3],
    }
    $('button:first').click(function () {
        var obj = $.param(myObj)
        var decoded = decodeURIComponent(obj)
        $('p').text(decoded)
    })
    $('button:last').click(function () {
        var obj = $.param(myObj, true)
        var decoded = decodeURIComponent(obj)
        $('p').text(decoded)
    })
})

В этом примере с использованием jQuery функции $.param() мы при нажатии на первый элемент <button> (кнопка) создаем сериализованное представление объекта при котором преобразование вложенных объектов и массивов производится (значение по умолчанию). А при нажатии на второй элемент <button> (кнопка) создаем сериализованное представление объекта при котором преобразование вложенных объектов и массивов не производится, для этого мы передаем в качестве второго параметра функции $.param() логическое значение true.

Обратите внимание, что мы еще используем JavaScript метод .decodeURIComponent() благодаря которому мы получаем декодированную версию закодированного компонента универсального кода ресурса (URI). Результат выполнения этого метода мы помещаем в элемент <p> с использованием jQuery метода .text().