form表单是可以直接提交的,但是很多场景我们需要对参数稍作处理,转换成标准的JSON结构提交。
基于jQuery的小插件:
$.prototype.serializeObject = function() {
var a, o, h, i, e;
a = this.serializeArray();
o = {};
h = o.hasOwnProperty;
for (i = 0; i < a.length; i++) {
e = a[i];
if (!h.call(o, e.name)) {
o[e.name] = e.value;
}
}
return o;
};
然后使用:
$('form').submit(function(event) {
event.preventDefault();
var form = $(this);
$.ajax({
url: form.attr("action"),
type: "POST",
data: JSON.stringify(form.serializeObject()),
contentType: "application/json",
dataType: "json",
beforeSend: function () {
},
error: function () {
},
complete:function () {
},
success: function (res) {
}
})
});