jQuery функция $.param()
jQuery DOM методыОпределение и применение
jQuery функция $.param() создает сериализованное представление массива, простого объекта, или объекта jQuery, которое подходит для использования в строке URL запроса, или AJAX запроса. В случае, если передан объект jQuery, то он должен содержать элементы ввода, содержащие пары имя/значение.
jQuery синтаксис:
Синтаксис 1.2: $.param( obj ) obj - Array, или PlainObject, или jQuery object Синтаксис 1.4: $.param( obj, traditional ) obj - Array, или PlainObject, или jQuery object traditional - Boolean
Добавлен в версии jQuery
1.2 (синтаксис расширен в версии 1.4)Значения параметров
Параметр | Описание |
---|---|
obj | Массив, простой объект, или объект jQuery, предназначенный для сериализации. |
traditional | Логическое значение, указывающее, следует ли проводить традиционную сериализацию при котором преобразование вложенных объектов и массивов не производится. По умолчанию значение соответствует false (преобразование вложенных объектов и массивов производится). |
Пример использования
<!DOCTYPE html> <html> <head> <title>Пример использования jQuery функции $.param()</title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <script> $( document ).ready(function(){ var myObj = { a: { one:1, two:2, three:3 }, b: [1,2,3] }; $( "button:first" ).click(function(){ // задаем функцию при нажатиии на первый элемент <button> var obj = $.param( myObj ); // преобразование вложенных объектов и массивов производится var decoded = decodeURIComponent( obj ); // декодируем компонент URI $( "p" ).text( decoded ); // вставляем значение переменной }); $( "button:last" ).click(function(){ // задаем функцию при нажатиии на последний элемент <button> var obj = $.param( myObj, true ); // преобразование вложенных объектов и массивов не производится var decoded = decodeURIComponent( obj ); // декодируем компонент URI $( "p" ).text( decoded ); // вставляем значение переменной }); }); </script> </head> <body> <button>serialize</button> <button>traditional</button> </body> </html>
В этом примере с использованием jQuery функции $.param() мы при нажатии на первый элемент <button> (кнопка) создаем сериализованное представление объекта при котором преобразование вложенных объектов и массивов производится (значение по умолчанию). А при нажатии на второй элемент <button> (кнопка) создаем сериализованное представление объекта при котором преобразование вложенных объектов и массивов не производится, для этого мы передаем в качестве второго параметра функции $.param() логическое значение true.
Обратите внимание, что мы еще используем JavaScript метод .decodeURIComponent() благодаря которому мы получаем декодированную версию закодированного компонента универсального кода ресурса (URI). Результат выполнения этого метода мы помещаем в элемент <p> с использованием jQuery метода .text().
Результат нашего примера:
jQuery DOM методы