Vue encodeURI 函數(shù)是一種 JavaScript 函數(shù),用于對(duì) URI 進(jìn)行編碼。它可以將非 URL 安全的字符替換為它們?cè)?URI 中的編碼表示。這是非常有用的,因?yàn)槟承┳址?# 或 % 在 URI 中具有特殊含義,如果您需要在 URI 中傳輸這些字符,您需要對(duì)它們進(jìn)行編碼。
const uri = "https://www.example.com/搜索結(jié)果?search=超高清#更多信息"; const encodedUri = encodeURI(uri); // https://www.example.com/%E6%90%9C%E7%B4%A2%E7%BB%93%E6%9E%9C?search=%E8%B6%85%E9%AB%98%E6%B8%85#%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF
在上面的例子中,我們使用 encodeURI 函數(shù)將 uri 編碼為 encodedUri 變量中。可以看到,原始字符串中的 # 字符已被替換為其在 URI 中的編碼形式 %23。
除了 encodeURI 函數(shù)之外,還有另外一個(gè)函數(shù)叫做 encodeURIComponent。這個(gè)函數(shù)的作用是將字符串編碼為可以在 URI 中使用的代碼。與 encodeURI 函數(shù)不同的是,encodeURIComponent 函數(shù)會(huì)編碼 URI 中的所有非標(biāo)準(zhǔn)字符,包括冒號(hào),斜杠,問號(hào)等。這是因?yàn)檫@些字符在 URI 中具有特殊的含義。
const uri = "https://www.example.com/?search=超高清&category=電視劇"; const encodedUri = encodeURIComponent(uri); // https%3A%2F%2Fwww.example.com%2F%3Fsearch%3D%25E8%25B6%2585%25E9%25AB%2598%25E6%25B8%2585%26category%3D%25E7%2594%25B5%25E8%25A7%2586%25E5%2589%2587
在上面這個(gè)例子中,我們對(duì)網(wǎng)站地址進(jìn)行了編碼,包括 ? 和 & 字符。注意,因?yàn)槲覀兪褂玫氖?encodeURIComponent 函數(shù),所以% 也會(huì)被編碼為 %25。
總結(jié)上述內(nèi)容,Vue encodeURI 函數(shù)和 encodeURIComponent 函數(shù)可以幫助我們將 URI 中的非 URL 安全字符進(jìn)行編碼。每種函數(shù)的作用不同,可以根據(jù)實(shí)際需要選擇合適的函數(shù)。