Mình đang viết một bài hướng dẫn sử dụng các hàm JavaScript cơ bản thì gặp phải vấn đề so sánh hai thằng Show Vâng, và sau khi phân biệt được, mình đã quyết định viết bài viết này để chia sẻ với các bạn.
Có thể là bạn đã biết rồi, Ví dụ. Mình có biến Có thể bạn sẽ nghĩ đơn giản chỉ việc nối chuỗi như sau là đủ: var url = "https://phambinh.net?page=10"; var endpoint = "https://domain.com?url=" + url; Nhưng như vậy là chưa đủ, bởi biến "https://domain.com?url=https://phambinh.net?page=10" Đương nhiên với định dạng như trên, web server sẽ không nhận được giá trị của biến Vì vậy mà chúng ta mới cần đến việc encode URI. Đoạn code trên nên được sửa lại như sau: var url = "https://phambinh.net?page=10"; var endpoint = "https://domain.com?url=" + encodeURI(url); Lưu ý:
Đoạn code trên có sử dụng hàm II. Sự khác biệt giữa encodeURI() và encodeURIComponent()Không có gì khác biệt quá lớn. Điều tạo nên sự khác biệt nhất chính là:
III. Khi nào thì encodeURI() và khi nào dùng encodeURIComponent()Từ sự khác biệt mà mình trình bày ở trên, chúng ta thể rút ngay ra khi nào thì sử dụng
Vậy quay lại ví dụ ở phần I, mình sử dụng var url = "https://phambinh.net?page=10"; var endpoint = "https://domain.com?url=" + encodeURIComponent(url); console.log(endpoint); // "https://domain.com?url=https%3A%2F%2Fphambinh.net%3Fpage%3D10" IV. Tổng kếtChỉ là một bài chia sẻ nhanh, hy vọng sẽ giúp ích cho các bạn trong quá trình học lập trình JavaScript. Chúc các bạn học tập hiệu quả. |