035-jQuery Ajax序列化

1. param()方法

1.1. param()方法创建数组或对象的序列化表示。该序列化值可在进行AJAX请求时在URL查询字符串中使用。

1.2. 语法

$.param(object, traditional)

1.3. 参数

1.4. 框架在解析序列化数字的时候能力有限, 所以当传递一些含有对象或嵌套数组的数组作为参数时, 请务必小心!

2. serialize()方法

2.1. serialize()方法通过序列化表单值, 创建URL编码文本字符串。您可以选择一个或多个表单元素(比如: input或textarea), 或者form元素本身。序列化的值可在生成AJAX请求时用于URL查询字符串中。

2.2. 语法

$(selector).serialize()

2.3. .serialize()方法创建以标准URL编码表示的文本字符串。它的操作对象是代表表单元素集合的jQuery对象。

2.4. 如果要表单元素的值包含到序列字符串中, 元素必须使用name属性。禁用的元素不会被包括在内。提交按钮的值也不会被序列化。文件选择元素的数据也不会被序列化。

扫描二维码关注公众号,回复: 12266432 查看本文章

3. serializeArray()方法

3.1. serializeArray()方法通过序列化表单值来创建对象数组(名称和值)。您可以选择一个或多个表单元素(比如: input或textarea), 或者form元素本身。

3.2. 语法

$(selector).serializeArray()

4. 例子

4.1. 代码

<!DOCTYPE html>
<html>
	<head>
		<title>jQuery-Ajax序列化</title>
		<meta charset="utf-8" />

		<script type="text/javascript" src="jquery.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){	
				var param1 = {width: 1900, height: 1200};
				var param2 = [{name: "first", value: "Rick"}, {name: "last", value: "Astley"}, {name: "job", value: "Rock Star"}];
				var param3 = {a: {one: 1, two: 2, three: 3}, b: [1, 2, 3]};
			
				$('#serialize').click(function(){
					var s = $("form").serialize();
					$("#serializeResult").append(s);
				});
				$('#serializeArray').click(function(){
					var sa = $("form").serializeArray();
					$.each(sa, function(index, obj){
						$("#serializeArrayResult").append(obj.name + '=' + obj.value);
						if(index < sa.length - 1){
							$("#serializeArrayResult").append('&');
						}
					});
				});
				$('#param').click(function(){
					$("#paramResult").append($.param(param1)).append($('<br />')).append($.param(param1, true))
					.append($('<br />')).append($('<br />')).append($.param(param2)).append($('<br />')).append($.param(param2, true))
					.append($('<br />')).append($('<br />')).append($.param(param3)).append($('<br />')).append($.param(param3, true));
				});
			});
		</script>
	</head>
	<body> 
  		<form>
  			<input type="text" name="un" value="zs" /> <br />
  			<input type="password" name="pwd" value="123456" /> <br />
    		<textarea name="info" rows="8" cols="40">我是一个有理想的人。</textarea> <br />
		  	<select name="ads">
			    <option value="河南郑州" selected="selected">河南郑州</option>
			    <option value="河南洛阳">河南洛阳</option>
			    <option value="河南偃师">河南偃师</option>
		  	</select><br />
    		<input type="checkbox" name="hby" value="听歌" />听歌 <input type="checkbox" name="hby" value="读书" />读书
    		<input type="checkbox" name="hby" value="游泳" />游泳 <input type="checkbox" name="hby" value="旅游" />旅游
		</form>

		<button id='serialize'>serialize</button> <button id='serializeArray'>serializeArray</button> <button id='param'>param</button>
		<div id='serializeResult' style="word-wrap: break-word; width: 1000px;">serializeResult: </div>
		<div id='serializeArrayResult'>serializeArrayResult: </div>
		<div id='paramResult'>paramResult:<br /></div>
	</body>
</html>

4.2. 效果图

猜你喜欢

转载自blog.csdn.net/aihiao/article/details/112416528