怎样用jquery编码和解码url
可以使用encodeURI() 函数可把字符串作为 URI 进行编码。
工具原料:编辑器、浏览器
1、使用encodeURL()方法可以对字符串或URL进行URL编码,也可以decodeURL()方法进行解码,简单的代码如下:
<html>
<body>
<script type="text/javascript">
document.write(encodeURI("https://www.baidu.com//My first/")+ "<br />")
document.write(decodeURI("http://www.w3school.com.cn/My%20first/")+ "<br />")
document.write(encodeURI(",/?:@&=+$#"))
</script>
</body>
</html>
2、运行的结果如下图:
<script type="text/javascript">
//escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如"春节"的返回结果是%u6625%u8282,escape()不对"+"编码 主要用于汉字编码。
alert(escape("春节"));
alert(unescape(escape("春节")));
//encodeURI()是用来对URL编码的函数。 编码整个url地址,但对特殊含义的符号"; / ? : @ & = + $ , #"不进行编码。对应的解码函数是:decodeURI()。
alert(encodeURI('http://baidu.com?hello=您好&word=文档'));
alert(decodeURI(encodeURI('http://baidu.com?hello=您好&word=文档')));
//encodeURIComponent() 能编码"; / ? : @ & = + $ , #"这些特殊字符。对应的解码函数是decodeURIComponent()。
alert(encodeURIComponent('http://baidu.com?hello=您好&word=文档'));
alert(decodeURIComponent(encodeURIComponent('http://baidu.com?hello=您好&word=文档')));
</script>
在jQuery中,我们可以使用以下方法实现URL的编码和解码:
encodeURIComponent(url) and decodeURIComponent(url)
怎样编码:
Url编码通常也被称为百分号编码(percent-encoding),是因为它的编码方式非常简单,使用%百分号加上两位的字符——0123456789ABCDEF——代表一个字节的十六进制形式对于ASCII字符,字母a 在ASCII码中对应的字节是0x61,那么Url编码之后得到的就是%61,字母abc, url编码后得到的就是%61%62%63对于非ASCII字符,RFC文档建议使用utf-8对其进行编码得到相应的字节,然后对每个字节执行百分号编码。如"中文"使用UTF-8字符集得到的字节为0xE4 0xB8 0xAD 0xE6 0x96 0x87,经过Url编码之后得到"%E4%B8%AD%E6%96%87"。 使用Javascript先对URL编码,然后再向服务器提交,不要给浏览器插手的机会 这样就能保证客户端只用一种编码方法向服务器发出请求