今天我们谈谈两个特殊字符的处理,第一个&,第二个>。&出现在参数值中时,&后面的数据会被当作另一个参数名称,>出现在参数值中,当我们再次展现时会被转义为>,其他特殊转义字符类似,但有时我们就是希望展现的就是>这几个字符,下面是两种情况的解决方法。
第一种:参数值中有&字符:
使用get方式传参,且参数值中包含特殊字符&则会出现错误。
如下面的请求:addUser.html?username=小明&age=18,这样是没有问题的,
现在把Name的值改为xiaoming&123,这时的请求如下:
addUser.html?username=xiaoming&123&age=18,这样问题就大了,这样会任务是传了三个参数:username、123、age,我们明明是只想传两个的。
问题解决:出现这种情况我们可以使用js提供的encodeURIComponent方法对参数进行编码,使参数值以另一种形式传输;
前端处理:
var usernameEncode = encodeURIComponent('xiaoming&123');
addUser.html?username=usernameEncode&age=18 ;
后台接到数据后是编码的数据,需要在后台解码!!!!!!!!!