时间:2021-05-18
一般情况下,URL 中的参数应使用 url 编码规则,即把参数字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。
但是对于带有中文的参数来说,这种编码会使编码后的字符串变得很长。
如果希望有短一点的方式对参数编码,可以采用 base64 编码方式对字符串进行编码,但是 base64 编码方式不能处理 JavaScript 中的中文,因为 JavaScript 中的中文都是以 UTF-16 方式保存的。
而 base64 只能处理单字节字符,所以不能直接用 base64 对带有中文的 JavaScript 字符串进行编码。
但是可以通过 utf.js 这个程序中提供的 utf16to8 来将 UTF-16 编码的中文先转化为 UTF-8 方式,然后再进行 base64 编码。
这样编码后的字符串,在传递到服务器端后可以直接通过 base64_decode 解码成 UTF-8 的中文字符串。
但是还有个问题需要注意。
base64 编码中使用了加号(+),而 + 在 URL 传递时会被当成空格,因此必须要将 base64 编码后的字符串中的加号替换成 %2B 才能当作 URL 参数进行传递。
否则在服务器端解码后就会出错。
所以我们需要做的就是encodeURI(str).replace(/\+/g,'%2B')
以上就是小编为大家带来的浅谈在js传递参数中含加号(+)的处理方式全部内容了,希望大家多多支持~
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
参数传递,是在程序运行过程中,实际参数就会将参数值传递给相应的形式参数,然后在函数中实现对数据处理和返回的过程。参数传递有3种方式:值传递地址传递引用传递tip
本篇主要介绍bash脚本中对于含空格文件处理方式。在批量处理音频文件时候使用下面的脚本发现含有空格的文件名并不能被处理;#$1:遍历的文件夹rootDir=$1
js的纯前台处理时会遇到将一个网页的参数,通过get方式,传递给下一个页面的问题.此时可以使用js的方式得到当前页面的url中的get参数.核心语句是:wind
1.时间命令:date向date命令传递参数适用‘+‘(加号),在传递的参数中%Y表示年%m表示月%d表示天%H表示小时(表示的时间是0
JS函数的参数在function内可以用arguments对象来获取。参数的调用有两种方式:1、期望参数的使用。2、实际传递参数的使用。应用举例:functio