Vue encodeURI 函數是一種 JavaScript 函數,用于對 URI 進行編碼。它可以將非 URL 安全的字符替換為它們在 URI 中的編碼表示。這是非常有用的,因為某些字符,如 # 或 % 在 URI 中具有特殊含義,如果您需要在 URI 中傳輸這些字符,您需要對它們進行編碼。
const uri = "https://www.example.com/搜索結果?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 函數將 uri 編碼為 encodedUri 變量中。可以看到,原始字符串中的 # 字符已被替換為其在 URI 中的編碼形式 %23。
除了 encodeURI 函數之外,還有另外一個函數叫做 encodeURIComponent。這個函數的作用是將字符串編碼為可以在 URI 中使用的代碼。與 encodeURI 函數不同的是,encodeURIComponent 函數會編碼 URI 中的所有非標準字符,包括冒號,斜杠,問號等。這是因為這些字符在 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
在上面這個例子中,我們對網站地址進行了編碼,包括 ? 和 & 字符。注意,因為我們使用的是 encodeURIComponent 函數,所以% 也會被編碼為 %25。
總結上述內容,Vue encodeURI 函數和 encodeURIComponent 函數可以幫助我們將 URI 中的非 URL 安全字符進行編碼。每種函數的作用不同,可以根據實際需要選擇合適的函數。