jQuery ajax - serializeArray() 方法

gladmustang發表於2015-01-06

serializeArray() 方法序列化表單元素(類似 .serialize() 方法),返回 JSON 資料結構資料。


返回的 JSON 物件是由一個物件陣列組成的,其中每個物件包含一個或兩個名值對 —— name 引數和 value 引數(如果 value 不為空的話)。舉例來說:

  {name: 'firstname', value: 'Hello'}, 
  {name: 'lastname', value: 'World'},
  {name: 'alias'}, // 值為空
]


例項1:

輸出以陣列形式序列化表單值的結果:
$("button").click(function(){
  x=$("form").serializeArray();
  $.each(x, function(i, field){
    $("#results").append(field.name + ":" + field.value + " ");
  });
});


例項2:

直接返回表單元素的name/value組成的json物件

function serializeObject(form) {
	var o = {};
	 $.each(form.serializeArray(), function(index){
    		o[this['name']] = this['value'];	
 	 });
	return o;
}

serializeObject($("#form1"));

注意:此方法返回的是 JSON 物件而非 JSON 字串。需要使用外掛或者第三方庫進行字串化操作。




相關文章