Để mã hóa một URL, như đã nói trước đây, bạn có hai chức năng:
encodeURI()
và
encodeURIComponent()
Lý do cả hai tồn tại là cái đầu tiên bảo tồn URL với nguy cơ để lại quá nhiều thứ không được giải thoát, trong khi cái thứ hai mã hóa mọi thứ cần thiết.
Với lần đầu tiên, bạn có thể sao chép URL mới thoát vào thanh địa chỉ (ví dụ) và nó sẽ hoạt động. Tuy nhiên, '&' của bạn sẽ không can thiệp vào các dấu phân cách trường, '=' sẽ can thiệp vào tên và giá trị của trường và '+' sẽ trông giống như khoảng trắng. Nhưng đối với dữ liệu đơn giản khi bạn muốn duy trì bản chất URL của những gì bạn đang thoát, điều này hoạt động.
Thứ hai là mọi thứ bạn cần làm để đảm bảo không có gì trong chuỗi của bạn can thiệp vào một URL. Nó để các ký tự không quan trọng khác nhau không bị hủy bỏ để URL vẫn có thể đọc được ở người mà không bị can thiệp. Một URL được mã hóa theo cách này sẽ không còn hoạt động như một URL mà không bỏ qua nó.
Vì vậy, nếu bạn có thể dành thời gian, bạn luôn muốn sử dụng encodeURIComponent () - trước khi thêm các cặp tên / giá trị mã hóa cả tên và giá trị bằng hàm này trước khi thêm nó vào chuỗi truy vấn.
Tôi đang có một thời gian khó khăn để đưa ra lý do để sử dụng encodeURI () - Tôi sẽ để điều đó cho những người thông minh hơn.