jQuery serialize将所有空格转换为加号

Mar*_*les 26 jquery serialization space

目前,无论我在哪里使用序列化,我必须像这样使用它:

.serialize().replace(/\+/g,'%20');
Run Code Online (Sandbox Code Playgroud)

否则表格数据中的任何空格都将被转换为+.是否有可以将其设为默认值的设置.

Ter*_*rry -1

不要相信有默认值,您将需要以这些方式之一对字符串进行编码。

尽管您可以创建自己的插件:

jQuery.fn.serializeAndEncode = function() {
    return escape(this.serialize());
}

$(myForm).serializeAndEncode();
Run Code Online (Sandbox Code Playgroud)

  • 请不要使用“转义”。它已[已弃用多年](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions#escape_and_unescape_functions(Obsoleted_above_JavaScript_1.5),应替换为“encodeURIComponent”,如马特·罗伊的例子。 (2认同)