URL传值时含有特殊字符(+#等)

    xiaoxiao2021-03-25  112

    使用encodeURIComponent

    如str="a+b";

    url="sql_str.jsp?sql="+str;

    要改成:

    url="sql_str.jsp?sql="+encodeURIComponent(str);

    URL传值带加号“+\#”的问题的解决方法

    今天在调试客户端向服务器传递参数时,参数中的“+”全部变成了空格,原因是URL中默认的将“+”号转义了;

    #则被认为是URL的结束标志符,#号后的所有数据就不再接收了。

    解决方法如下:

    方法一、修改客户端,将客户端带“+”的参数中的“+”全部替换为‍“2B%”,这样参数传到服务器端时就能得到“+”了;

                 类似,将参数中的"#"全部替换为"#"。

    附:一个JS,用来转义URL中特殊字符的。

    ‍function URLencode(sStr)  {     return escape(sStr).replace(/\+/g, '+').replace(/\"/g,'"').replace(/\'/g, ''').replace(/\//g,'/'); }
    转载请注明原文地址: https://ju.6miu.com/read-24996.html

    最新回复(0)