Jquery的序列化方法为啥要把空格替换成加号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery的序列化方法为啥要把空格替换成加号相关的知识,希望对你有一定的参考价值。

参考技术A 那是因为URL规范里就是要求空格在query string里被编码为加号吧。 http://en.wikipedia.org/wiki/Query_string#URL_encoding 参考技术B value.replace(/\s/g,"+");追答

这是url编码的表示方式,对于每个字节,可以用%后面跟ASCII码的两位十六进制值表示:
根据URL的编码:空格的是20
所以URL中的空格为%20注意使用 POST 方法时,消息内容的类型是 application/x-www-form-urlencoded,这种类型会:
指定常规数据编码
将空格转换为加号 (+)
将非文本内容转换成十六进制数后接百分号 (%) 的形式

js将所有的空格替换成加号(+)

var str='kf fVsdfwAVQC/IDdrrr g==' var p=str.replace(/[\\s]/g, "+"); console.log(p)得到的结果为: kf+fVsdfwAVQC/IDdrrr+g==

以上是关于Jquery的序列化方法为啥要把空格替换成加号的主要内容,如果未能解决你的问题,请参考以下文章

为啥 PHP 将 $_COOKIE 中的加号替换为空格?

js将所有的空格替换成加号(+)

URL中的空格、加号究竟应该使用何种方式编码

javascript 传递参数中带加号自动变成了空格

如何用加号替换变量中的空格。批

如何解决Http请求参数中加号变空格问题