核心提示:前台传到后台序列化表单$(#goodsBuyForm).serialize();//字符串$(#goodsBuyForm).serializeObject();//json对象将表单序列化为name1...
前台传到后台
序列化表单$("#goodsBuyForm").serialize();//字符串 $("#goodsBuyForm").serializeObject();//json对象
将表单序列化为
name1=value1&name2=value2 的形式
用在ajax请求中
params = $("#goodsBuyForm").serialize(); $.ajax({ data:param, //data:{"params":params,"goodsSku":goodSkuId} // 这样想多传几个参数亲测不行,传到后台的参数也无法直接映射到对象中去 })
serializeObject()基于JQuery的serializeArray()
/** * 将表单元素序列化为JSON对象 基于jQuery serializeArray() */ $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name] !== undefined) {//刚出现的表单name的值。为undefined直接保存name和value if (!o[this.name].push) {//有相同name属性的表单,用数组保存 o[this.name] = [ o[this.name] ]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; };
表单序列化为数组:数组的内容为{}json对象,json对象有两个键name和value
serializeArray不会序列化不需要提交的表单控件,跟常规的表单提交行为是一致的。不在