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 相关文章推荐
js中onload与onunload的使用示例
Aug 25 Javascript
window.open打开页面居中显示的示例代码
Dec 27 Javascript
jquery中$.post()方法的简单实例
Feb 04 Javascript
JavaScript异步加载浅析
Dec 28 Javascript
js控制网页背景音乐播放与停止的方法
Feb 06 Javascript
jQuery检测输入的字符串包含的中英文的数量
Apr 17 Javascript
javascript实现控制文字大中小显示
Apr 28 Javascript
JavaScript实现级联菜单的方法
Jun 29 Javascript
移动端js触摸事件详解
Sep 18 Javascript
关于foreach循环中遇到的问题小结
May 08 Javascript
vue使用map代替Aarry数组循环遍历的方法
Apr 30 Javascript
Vue 数据响应式相关总结
Jan 28 Vue.js
利用浏览器全屏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
同时提取多条新闻中的文本一例
2006/10/09 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
php常用的url处理函数总结
2014/11/19 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
微信小程序通过保存图片分享到朋友圈功能
2018/05/24 Javascript
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
python中去空格函数的用法
2014/08/21 Python
Python中函数的参数定义和可变参数用法实例分析
2015/06/04 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
Nili Lotan官网:Nili Lotan同名品牌
2018/01/07 全球购物
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
个人求职简历中英文自我评价
2013/12/16 职场文书
岗位职责说明书
2014/05/07 职场文书
工程承诺书怎么写
2014/05/24 职场文书
社团活动总结书
2014/06/27 职场文书
三关爱志愿服务活动方案
2014/08/17 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
新娘婚礼致辞
2015/07/27 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js
Java实现简单小画板
2022/06/10 Java/Android