博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于jquery的serialize方法转换空格为+号的解决方法
阅读量:6835 次
发布时间:2019-06-26

本文共 750 字,大约阅读时间需要 2 分钟。

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+++456
var b = a.replace(/\+/g," ");   // g表示对整个字符串中符合条件的都进行替换
b =  decodeURIComponent(b);  //对serialize后的内容进行解码
alert(b); // content=abc + 123 + 456
至此,问题解决了。

转载于:https://www.cnblogs.com/tinya/p/4630303.html

你可能感兴趣的文章
vmware克隆server2008R2造成SID冲突
查看>>
python调用zabbix api接口实时展示数据
查看>>
VMware下Windows2003R2虚拟机磁盘扩容方法
查看>>
运维经验分享(六)-- 深究crontab不能正确执行Shell脚本的问题(二)
查看>>
利用Linux的文件命名规范在Windows中建立“高权限”文件
查看>>
失败者的共同特点
查看>>
Tokyo Tyrant基本规范(4)--协议
查看>>
【Go语言】【14】GO语言的接口类型
查看>>
配置CAS应用客户端
查看>>
摘抄--apache工作模式详解
查看>>
更改sybase下设备名
查看>>
不少朋友在安装IDES 4.71的过程中都遇到了下面的出错提示:
查看>>
企业的人性和狼性
查看>>
mySQL教程 第10章 事务和锁
查看>>
Hello, Kafka World
查看>>
Exchange 2010和Exchange 2016共存部署-10:配置多域名证书
查看>>
SFB 项目经验-03-共存迁移-Lync 2013-TO-SFB 2015-完成
查看>>
F5 配置手册 -F5 BIG-IP 10.1-2-配置-基本参数
查看>>
《统一沟通-微软-实战》-6-部署-2-中介服务器-1-定义中介服务器
查看>>
虚拟化,可实现国产化替代
查看>>