问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

浅谈在js传递参数中含加号(+)的处理方式

发布网友 发布时间:2022-04-25 19:20

我来回答

1个回答

热心网友 时间:2022-04-11 23:36

一般情况下,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传递参数中含加号(+)的处理方式全部内容了,希望大家多多支持脚本之家~
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
黄山门户网主要栏目 壹家居品牌简介 湖南乐享生活家居有限公司一站式毛坯房解决方案 服务器出租 电脑上的时间日期不同步怎么办 台式电脑时间不同步怎么解决? 关于清明节的小学作文400字 微信怎么查询自己名下的微信 如何查看微信实名认证了几个账号 轿车120时速撞击力有多大? 小孩子身上过敏很痒怎么办? Js中,什么情况加括号 公司刚成立是第一次交社保请问一下具体的流程从开户开始到最后该怎么做 js中向对象中添加属性的两种方法? 请问网络营销培训一般需要学习多长时间呢?前景怎么样? 网络营销课程可以去哪家机构学? 网络营销培训学校哪个比较靠谱? 谁推荐个网络营销培训学校 国庆节有短期的网络营销培训班吗 怎么判断瓷砖空鼓? 如何在施工过程中控制墙砖及地砖的空鼓? 地砖空鼓一定要返工吗?如何来返工处理? 检验墙砖空鼓的标准是什么 呼和浩特市有没有营销策划、网络营销短期培训? 哪里可以学网络营销?一个月就上手的培训机构 瓷砖为什么会空鼓,瓷砖空鼓怎么处理? 成都哪里有好的短期网络营销培训班 网络营销培训中心靠谱吗? 瓷砖空鼓率最多不能超过多少 地面砖发现空鼓多大面积需要整改 小孩身上过敏痒怎么办 js如何加注释啊 js中加<!--....--!>什么意思 孩子皮肤过敏怎么办,孩子全身皮肤红痒脸上也有,昨天第一次发病,上了皮炎平,老是反复发作,不肿。谢谢 深圳新成立的企业,申请参加社保需要怎么样的流程 怎么用js添加一个div JavaScript中如何添加文本节点? js中为什么加了^和$结果不一样 JS中怎么将多个对象添加到一个对象中? 孩子身上过敏起疙瘩怎么办? 小孩子经常过敏怎么办? 西瓜是蔬菜还是水果 js中怎样动态添加一个li 西瓜是水果还是瓜类? JavaScript中的加一运算 西瓜是水果吗? JS 里 字符串中如何加入多个空格 西瓜是水果还是蔬菜 用js向层中添加内容 为什么西瓜是世界十大水果之一?