Possiamo serializzare un form come oggetto JSON con jQuery.
La soluzione รจ la seguente:
(function( $ ) {
if( !$.toJSON ) {
$.toJSON = function( element ) {
var query = element.serialize(),
parts = query.split( "&" ),
obj = {};
parts.forEach(function( part ) {
var frags = part.split( "=" );
obj[frags[0]] = frags[1];
});
return obj;
};
}
})( jQuery );
Esempio d'uso:
$( "#form" ).on( "submit", function( e ) {
e.preventDefault();
var $form = $( this );
var data = $.toJSON( $form );
//...
});