jQuery serialize converts all spaces to plus

jquery, serialization, space

Solution

For fun, here's an alternative that doesn't use a temporary variable:

$.fn.serializeAndEncode = function() {
    return $.map(this.serializeArray(), function(val) {
        return [val.name, encodeURIComponent(val.value)].join('=');
    }).join('&');
};

$("#formToSerialize").serializeAndEncode();

Problem

Currently, everywhere I use serialize I have to use it like this: ``` .serialize().replace(/\+/g,'%20'); ``` otherwise any spaces in the form data will be coverted to +'s. Is there a setting that can make this the default.

Original source