今天工作遇到一个bug,之前做好的这个任务视频的URL地址好好的,能够访问到, 今天就出了bug, 原因就是没有将URL进行编码或者URL.parse进行处理。然后就去整理了一下编码解码的方法。
全局函数:
- encodeURI()把字符串编码为URI。
- 语法:encodeURI(URIstring)
- 这种方法目的是对URI进行完整的编码 不会对字母数字进行编码
- 不会对这些符号进行转义 ;,、?:@ & = + $
#
-
_
.
!
~
*
'
(
)
- 注意:encodeURI自身无法产生能适用于HTTP GET 或 POST请求的URI ,请求中会携带参数,比如 ? 和 # = 因为这些不会被编码,所以要用encodeURIComponent这个方法进行编码
2. encodeURIComponent 把字符串编码为URI组件。
- 语法:encodeURIComponent(URIstring)
- 为了避免服务器收到不可预知的请求,对任何用户输入的作为URI部分的内容你都需要encodeURIComponent进行转义,比如,一个用户可能会输入"
Thyme &time=again
"作为comment
变量的一部分。如果不使用encodeURIComponent对此内容进行转义,服务器得到的将是comment=Thyme%20&time=again
。请注意,"&"符号和"="符号产生了一个新的键值对,所以服务器得到两个键值对(一个键值对是comment=Thyme
,另一个则是time=again
),而不是一个键值对。
3. decodeURI()解码某个被编码后的URI
4. decodeURIComponent()解码一个编码的URI组件