·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 关于jquery的serialize方法转换空格为+号的解决方法

关于jquery的serialize方法转换空格为+号的解决方法

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

关于jquery的serialize方法转换空格为+号的解决方法

jquery的 serialize()方法,可以对表单项进行序列化,这本来是很方便的一个功能;但是实际使用中去发现了如下问题:例如:< textarea name="content">abc 123 </textarea >那么在执行 serialize()方法后,得到的却是abc+123这样的字符串;即jquery的序列化方法对空格进行了转义,转换成了 + 号。jquery中serialize方法的部分代码如下所示://.................//.................return s.join("&").replace(/ /g, "+");  //替换空格为 + 号测试了一下,serialize()方法对真正的“+”号转义的是 %2B,所以可以放心的对serialize()后的结果进行符号替换例:< textarea name="content">abc + 123 + 456</textarea >jquery代码:var a= $('$frm1').serialize(); //序列化,默认会调用encodeURIComponent()进行编码alert(a); // content=abc+++123+++456var b = a.replace(/\+/g," ");// g表示对整个字符串中符合条件的都进行替换b =decodeURIComponent(b);//对serialize后的内容进行解码alert(b); // content=abc + 123 + 456至此,问题解决了。