js中传递特殊字符(+,&)的方法


Posted in Javascript onJanuary 16, 2014

背景:

今天在做一个任务时,用Jquery的Ajax传递一长串字符时,在后台的验证一直不成功,纠结时我了(那个字符串是随机生成的,特长)。查了一上午,原来是我生成的字符串中有+号,而在js传递的时候,会理解为是连接字符用的,到了后台就将+号自动变为空格了,所以后台的字符串和前台生成的已经不一样了。

原因:

js后自动解析特殊字符,如+号为连接符,解析为空格,&为变量连接符,服务器端接受数据时&以后的数据不显示等等。

解决办法:

1、将字符放到form中,然后用js提交form表单到服务器。

2、将字符中的特殊字符替换成十六进制的字符,一些特殊字符与十六进制的对应关系:

 

+ 空格 / ? % & = #
%2B %20 %2F %3F %25 %26 &3D %23

str = str.replace(/\+/g,"%2B"); 将+号替换为十六进制 

3、最简单的一种,使用encodeURIComponent()函数。

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

Javascript 相关文章推荐
客户端脚本中常常出现的一些问题和调试技巧
Jan 09 Javascript
FireFox JavaScript全局Event对象
Jun 14 Javascript
滚动图片效果 jquery实现回旋滚动效果
Jan 08 Javascript
js获取url中的参数且参数为中文时通过js解码
Mar 19 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
微信小程序之拖拽排序(代码分享)
Jan 21 Javascript
利用C/C++编写node.js原生模块的方法教程
Jul 07 Javascript
jQuery读取本地的json文件(实例讲解)
Oct 31 jQuery
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
Aug 30 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
Sep 30 Javascript
d3绘制基本的柱形图的实现代码
Dec 12 Javascript
利用浏览器全屏api实现js全屏
Jan 16 #Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
Jan 15 #Javascript
JS和Jquery获取和修改label的值的示例代码
Jan 15 #Javascript
javascript中验证大写字母、数字和中文
Jan 15 #Javascript
setTimeout自动触发一个js的方法
Jan 15 #Javascript
JS记录用户登录次数实现代码
Jan 15 #Javascript
为指定的元素添加遮罩层的示例代码
Jan 15 #Javascript
You might like
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php 魔术方法详解
2014/11/11 PHP
php生成图片缩略图的方法
2015/04/07 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
asm.js使用示例代码
2013/11/28 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
Html5 js实现手风琴效果
2020/04/17 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
详解es6新增数组方法简便了哪些操作
2019/05/09 Javascript
微信小程序如何调用图片接口API并居中显示
2019/06/29 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
python统计cpu利用率的方法
2015/06/02 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
飞利浦法国官网:Philips法国
2019/07/10 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
UNIX文件类型
2013/08/29 面试题
网站编辑求职信
2013/10/17 职场文书
大三预备党员入党思想汇报
2014/01/08 职场文书
九年级政治教学反思
2014/02/06 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
行风评议整改报告
2014/11/06 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
python中%格式表达式实例用法
2021/06/18 Python
Vue3中的Refs和Ref详情
2021/11/11 Vue.js