var JsonPost = {}; JsonPost.Post = function(form, name, onSuccess, onError) { var data = form.serializeObject(); data = JSON.stringify(data); data = '{ ' + name + ': ' + data + '}'; $.ajax({ url: form.attr('action'), type: 'POST', data: data, contentType: 'application/json; charset=utf-8', success: onSuccess, error: onError }); }; $.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name] !== undefined) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; };