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 相关文章推荐
Javascript入门学习资料收集整理篇
Jul 06 Javascript
javascript实现动态侧边栏代码
Feb 19 Javascript
JS+CSS实现可拖动的弹出提示框
Feb 16 Javascript
JQuery+EasyUI轻松实现步骤条效果
Feb 22 Javascript
基于JavaScript实现类似于百度学术高级检索功能
Mar 02 Javascript
JS两种类型的表单提交方法实例分析
Nov 28 Javascript
VUE开发一个图片轮播的组件示例代码
Mar 06 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
bootstrap confirmation按钮提示组件使用详解
Aug 22 Javascript
在knockoutjs 上自己实现的flux(实例讲解)
Dec 18 Javascript
jQuery实现网页拼图游戏
Apr 22 jQuery
vue项目前端知识点整理【收藏】
May 13 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
DedeCms模板安装/制作概述
2007/03/11 PHP
简化php模板页面中分页代码的解析
2009/02/06 PHP
PHP常用的文件操作函数经典收藏
2013/04/02 PHP
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
js 解决“options为空或不是对象”
2008/12/22 Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
单独使用CKFinder选择图片的方法
2010/08/21 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
jQuery快速实现商品数量加减的方法
2017/02/06 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
js获取 gif 的帧数的代码实例
2019/09/10 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
python基础教程之获取本机ip数据包示例
2014/02/10 Python
为Python程序添加图形化界面的教程
2015/04/29 Python
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
Python环境下安装使用异步任务队列包Celery的基础教程
2016/05/07 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
Python 循环终止语句的三种方法小结
2019/06/24 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
考核评语大全
2014/04/29 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
通知怎么写?
2019/04/17 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
使用CSS设置滚动条样式
2022/01/18 HTML / CSS