Ajax传参之url中特殊字符的处理之血站八方
发布时间:2020-12-16 00:57:18 所属栏目:百科 来源:网络整理
导读:笔者,先贴出这个错误在Java后台中所报出的异常 八月 01,2013 5:08:46 下午 org.apache.tomcat.util.http.Parameters processParameters信息: Character decoding failed. Parameter [entityDoc.abstrat] with value [my name is 7is%207%%20and%206%7] has
笔者,先贴出这个错误在Java后台中所报出的异常
八月 01,2013 5:08:46 下午 org.apache.tomcat.util.http.Parameters processParameters 信息: Character decoding failed. Parameter [entityDoc.abstrat] with value [my name is 7is%207%%20and%206%7] has been ignored. Note that the name and value quoted here may be corrupted due to the failed decoding. Use debug level logging to see the original,non-corrupted values. org.apache.tomcat.util.buf.UDecoder$DecodeException: isHexDigit 为什么会报这个异常,是因为笔者,在前台的Ajax的参数里面使用了一些url不转码的特殊字符%,因为事先没有做过处理,所以传到后台的时就变成了,前台传入 my name is 7% and 6%7 异常中显示 [my name is 7is%207%%20and%206%7] 注意,笔者先对其中的八个比较特殊不编码的字符列出
在此,对URL的编码详细的总结一下 知道问题的原因后,解决起来就有思路了!可以使用2种方法,第一种使用正则把%号,替换成%25,手动指定一个特殊符号转码 var t= title.replace(/%/g,"%25");//g代表全局匹配替换 第二种方法,比较通用直接使用JavaScript提供的2次编码方案进行转码可以替换掉所有的的不能转码的特殊符号 title= encodeURI(title); title= enc odeURI(title); 至此,完美解决url中的特殊符号的问题! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |