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 相关文章推荐
jQuery的bind()方法使用详解
Jul 15 Javascript
javascript实现表单验证
Jan 29 Javascript
JS 日期与时间戮相互转化的简单实例
Jun 22 Javascript
js编写三级联动简单案例
Dec 21 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
Feb 07 Javascript
jQuery中layer分页器的使用
Mar 13 Javascript
Iscrool下拉刷新功能实现方法(推荐)
Jun 26 Javascript
node.js遍历目录的方法示例
Aug 01 Javascript
Angular服务Request异步请求的实例讲解
Aug 13 Javascript
js微信分享接口调用详解
Jul 23 Javascript
JS用最简单的方法实现四舍五入
Aug 27 Javascript
Vue自定义组件双向绑定实现原理及方法详解
Sep 03 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
JAVA/JSP学习系列之四
2006/10/09 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
2009/11/12 PHP
PHP源码之explode使用说明
2011/08/05 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
PHP中设置时区方法小结
2012/06/03 PHP
php动态实现表格跨行跨列实现代码
2012/11/06 PHP
php笔记之:数据类型与常量的使用分析
2013/05/14 PHP
Ext.MessageBox工具类简介
2009/12/10 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
Javascript基础学习笔记(菜鸟必看篇)
2016/07/22 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
JS实现轮播图效果
2020/01/11 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
Python functools模块学习总结
2015/05/09 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
python实现闹钟定时播放音乐功能
2018/01/25 Python
python实现简易动态时钟
2018/11/19 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
解决yum对python依赖版本问题
2019/07/05 Python
python错误调试及单元文档测试过程解析
2019/12/19 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
Notino法国:购买香水和化妆品
2019/04/15 全球购物
女方回门宴答谢词
2014/01/14 职场文书
年度考核自我评价
2014/01/25 职场文书
西北政法大学自主招生自荐信
2014/01/29 职场文书
学生党支部先进事迹
2014/02/04 职场文书
《四季》教学反思
2014/04/08 职场文书
梅花魂教学反思
2014/04/25 职场文书
社区两委对照检查材料
2014/08/23 职场文书
个人欠款协议书范本2014
2014/11/02 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
借条格式范本
2015/05/25 职场文书