作家
登录

使用Post提交时须将空格转换成加号的解释

作者: 来源:www.28hudong.com 2013-03-30 00:13:34 阅读 我要评论

jQuery的serialize模块中有个r20正则 复制代码 代码如下: var r20 = /%20/g, jQuery.param方法中会将所有的"%20"转成"+",即提交数据前,数据中如果包含空格,那经过encodeURIComponent后,空格会转成"%20" 复制代码 代码如下: encodeURIComponent(' ') === '%20'; // true 最后需要将"%20"转换成"="再Post提交。这样后台程序接受到的才是真正的空格。 关于 encodeURIComponent,见MDC描述 encodeURIComponent escapes all characters except the following: alphabetic, decimal digits, - _ . ! ~ * ' ( ) To avoid unexpected requests to the server, you should call encodeURIComponent on any user-entered parameters that will be passed as part of a URI. For example, a user could type "Thyme &time=again" for a variable comment. Not using encodeURIComponent on this variable will give comment=Thyme%20&time=again. Note that the ampersand and the equal sign mark a new key and value pair. So instead of having a POST comment key equal to "Thyme &time=again", you have two POST keys, one equal to "Thyme " and another (time) equal to again. For application/x-www-form-urlencoded (POST), per http://www.w3.org/TR/html401/interac...m-content-type, spaces are to be replaced by '+', so one may wish to follow a encodeURIComponent replacement with an additional replacement of "%20" with "+". 相关: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent http://www.w3.org/TR/html401/interact/forms.html#form-content-type

  推荐阅读

  javascript之Partial Application学习

这一次来学习一下Partial Application。我们先看一下函数的介绍,在维基上有简单的介绍: 在数学中,一个函数是描述每个输入值对应唯一输出值的这种对应关系,符号为 f(x)。例如,表达式 f(x)=x2表示了一个函数 f,>>>详细阅读


本文标题:使用Post提交时须将空格转换成加号的解释

地址:http://www.17bianji.com/kaifa2/JS/22551.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)