URL参数中&和+被转成空格

来源:互联网 发布:ubuntu如何安装输入法 编辑:程序博客网 时间:2024/05/19 13:06

     在ajax传输密码串的时候,密码总是报错,查看日志发现密码串有很多的空格,查看在非ajax中传输的密码串,发现密码串中的&和+都被转义成了空格。

      查看网上的资料[1]发现   web 开发中通过问号(?)方式在浏览器地址栏中传值时。浏览器是通过“&”来区分问号后的参数个数的。 如果出现传值参数中带有“&”时,在接受页面就会出现错误,类似如下请求路径:/next.jsp?param1=hendhs89&furej & param2=sss

  参数param1中含有转义字符“&” ,这样会导致被请求页的参数接收错误。

       我们当时的做法是

    
 var pay_pswd = $("#pay_pswd").val();    // 增加把&和加号处理成空格的问题    pay_pswd = pay_pswd.replace(/\+/g, "%2B");    pay_pswd = pay_pswd.replace(/\&/g, "%26");

当然可能还有其他做法,但是我们只用把+和&进行转义的方法,这是用的是URL编码表[2] 。

[1]http://baike.sogou.com/v262922.htm?fromTitle=%E8%BD%AC%E4%B9%89%E5%AD%97%E7%AC%A6

[2]http://www.cnblogs.com/kobe8/p/4030396.html

0 0
原创粉丝点击