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

一般情况下,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传递参数中含加号(+)的处理方式全部内容了,希望大家多多支持脚本之家~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537646.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基本权限总结

rwx r 针对目录 能够看到目录下的内容,也就是说能够使用ls 查看目录下的内容针对文件 能够看文件内的内容,也就是说能够使用cat 查看文件内的内容 w 针对目录 如果目录有w权限,就可以删除目录下的内容针对文件 如果文件有w权限,就…

电脑用电量_闲置电脑也能赚钱?「BOINC算力地球」借区块链技术扩大共享算力...

阎研希望在未来三到五年内,将BOINC平台的算力规模扩大到目前的四倍,这相当于目前阿里云两个大型机房的算力规模。你可曾想过,未来有一天你可以利用自己闲置的电脑来赚钱,同时还能为科研项目作出贡献,甚至突破太空&…

加了密的PDF如何破解复制?

概述 PDF被加密了,可以查看,可以打印,但是复制不了内容。 不知道密码,如何不花钱破解它? 方法 工具:谷歌浏览器,或谷歌内核的360、qq等浏览器 1.打开谷歌浏览器 2.将pdf文件拖进浏览器&…

nat - 虚拟服务器设置,nat 虚拟服务器设置

nat 虚拟服务器设置 内容精选换一换虚拟IP地址用于为网卡提供第二个IP地址,同时支持与多个云服务器的网卡绑定,从而实现多个云服务器之间的高可用性。登录管理控制台。单击管理控制台左上角的,选择区域和项目。选择“计算 > 云耀云服务器”…

新款苹果电脑_苹果真牛!iPhone的软件,苹果电脑上也照样可用了

在刚刚过去的双11大战中,几大手机厂商,打得是不可开交。为了这次年度狂欢,不仅苹果准备了iPhone12,余承东推出了华为Mate40,刘作虎亮出了一加8T,小米特供了Redmi K30S至尊版,就连久久没有动作的…

win10 设置游戏全屏

小米笔记本pro,双显卡,win10 用百度搜的修改注册表的值,没有用。 方法是: 1.桌面--右键--英特尔显卡设置 2.选择显示器 3.缩放比例,选择覆盖应用程序设置,点击应用

【算法】LeetCode算法题-Remove Duplicates from Sorted Array

这是悦乐书的第149次更新,第151篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第8题(顺位题号是26)。给定一个已经排序(由小到大)的整数数组(元素可以重复),计算其中不重复元素的个数n&…

信息系统项目管理基础(1)

项目管理基础 项目的概念 项目是为提供一项独特产品、服务或成果所做的临时性努力。 我现在csdn上写一篇名叫《信息系统项目管理基础》的博文,就是项目! 独特性:这篇博文独一无二,在csdn中找不出完全一样的。 临时性&#xf…

csgo客户文件与服务器,csgo与远程服务器

csgo与远程服务器 内容精选换一换远程连接Windows弹性云服务器后,不能复制、粘贴内容,右键单击菜单栏,“粘贴”选项置灰。未进行本地驱动器映射。服务器rdpclip.exe进程异常。系统禁止云服务器和本地主机之间进行文件的复制粘贴功能。未进行本…

java 容器都有哪些?_适合存储普洱茶的容器都有哪些?

收藏普洱茶的容器,首先强调的是无异味、无污染。就质地而言,收藏普洱茶的容器类型很多:土器、瓦器、木器、竹器、石器、陶器、瓷器、紫砂、玻璃、纸质等都可选择使用,金属、搪瓷容器密度高、透气性差,如不解决透气性问…

WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形

原文:WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形说明:本系列基本上是《WPF揭秘》的读书笔记。在结构安排与文章内容上参照《WPF揭秘》的编排,对内容进行了总结并加入一些个人理解。 WPF将易用性的理念带入了3D世界&#xf…

logisim优先编码器怎么用_编码器简介、应用的stm32代码及注释

在机器人的旋转关节中、或者底盘的驱动轮中,编码器是一个很常用的部件,它用于检测输出轴的位置、转速。下面我们先从它的分类开始,后面还有一个简单的用法示例代码。磁编码器1.编码器分类: 按工作原理:光电式、磁电式和…

数据库查询集合排序

/** 定义一个排序规则*/ public class ComparatorUser implements Comparator{Overridepublic int compare(Object arg0, Object arg1) {User user0(User)arg0;User user1(User)arg1;//首先比较年龄,如果年龄相同,则比较名字int flaguser0.getAge().comp…

立项管理

项目建议书 也叫立项申请项目建设单位发起主要内容:项目的必要性、项目市场预测、产品方案或服务的市场预测、项目建设必需的条件项目可行性研究 特点 预见性、公正性、可靠性、科学性主要内容 投资、技术、财务、组织、经济、社会的可行性、风险因素及对策技术可行…

c++输出方块_【Blender】方块波浪动画音乐效果

先上结果:Blender方块动画效果https://www.zhihu.com/video/1232333427569262592老规矩:一、设置基本Wave Mesh(波浪面)创建Plane,S 8,这样宽度就是2*816m了。CtrlA/Object菜单->Apply->Apply Scale—…

vue服务端渲染添加缓存

虽然 Vue 的服务器端渲染(SSR)相当快速,但是由于创建组件实例和虚拟 DOM 节点的开销,无法与纯基于字符串拼接(pure string-based)的模板的性能相当。在 SSR 性能至关重要的情况下,明智地利用缓存策略,可以极大改善响应时间并减少服…

Could not autowire. No beans of 'xxxx' type found的错误提示

spring 集成mybatis 找不到 beans 查了很多网页,解决办法是: 在PersonMapper 上加 Repositorypackage zengmiaogen.csdn.cn.mybatis;import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository;import java.ut…

怎么把页面按比例缩小_做PPT多图排版千万别套模板了,按这28种版式来,绝对靠谱!...

编按:各种类型的PPT经常会用到图片,这些图片到底如何排版才更出色呢?今天给大家分享一篇PPT图片排版手册,主要介绍了多张图常见的排版方式,希望能帮助到您!嗨,大家好,我是P小白。一张…

spring boot 集成Mybatis时 Invalid bound statement (not found)

spring boot 集成Mybatis时,运行提示 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): zengmiaogen.csdn.cn.mybatis.PersonMapper.queryPersonList 按照下文的步骤,解决了问题 https://blog.csdn.net/qq_3598128…

Caffe CuDNN版本与环境不同导致make错误

1.将./include/caffe/util/cudnn.hpp 换成最新版的caffe里的cudnn的实现,即相应的cudnn.hpp. 2.将./include/caffe/layers里的,所有以cudnn开头的文件,例如cudnn_conv_layer.hpp,都替换成最新版的caffe里的相应的同名文件。 3.将.…