Ajax传参里面含有特殊字符

来源:互联网 发布:淘宝仓管的职责 编辑:程序博客网 时间:2024/05/21 09:51

      前段时间再做航天云网设备数据上传的时候,发现在用ajax向后台发数据时,控制台提示数据上传失败最后发现是设备编号里面包含了+这类的特殊字符,后台服务器将+识别成了其他的字符,也就是特殊字符服务器不能解析。

    首先想到的就是把特殊字符进行编码在传递上网搜了一下,发现有一个现成的方法:encodeURIComponent();

常见特殊字符列表,如下图:

符号

含义

编码

+

+号表示空格

%2B

空格

用+号或者编码

%20

/

分隔目录和子目录

%2F

?

分隔实际的 URL 和参数

%3F

%

指定特殊字符

%25

#

表示书签

%23

&

参数间的分隔符

%26

=

URL 中指定参数的值

%3D

一:var str= para.replace(/%/g,"%25");//g代表全局匹配替换
二:encodeURIComponent(str); //使用改方法自动转码。