Theo câu trả lời này ở đây : str='foo%20%5B12%5D'
mã hóa foo [12]
:
%20 is space
%5B is '['
and %5D is ']'
Đây được gọi là mã hóa phần trăm và được sử dụng để mã hóa các ký tự đặc biệt trong các giá trị tham số url.
EDIT Nhân tiện , khi tôi đang đọc https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI#Des mô tả , nó chỉ xảy ra với tôi tại sao rất nhiều người thực hiện cùng một tìm kiếm. Xem ghi chú ở dưới cùng của trang:
Cũng lưu ý rằng nếu một người muốn theo RFC3986 gần đây hơn
cho URL, hãy đặt dấu ngoặc vuông (dành cho IPv6) và do đó không được mã hóa khi tạo một cái gì đó có thể là một phần của URL (chẳng hạn như máy chủ lưu trữ), những điều sau đây có thể hữu ích.
function fixedEncodeURI (str) {
return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
}
Hy vọng rằng điều này sẽ giúp mọi người sắp xếp vấn đề của họ khi họ vấp phải câu hỏi này.