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 функции $.param()
Использование jQuery функции $.param()
jQuery DOM методы