này ia một vấn đề thường gặp. Ký tự +
được sử dụng bởi URL để tách hai từ. Để sử dụng các nhân vật +
trong các giá trị tham số, bạn cần để mã hóa các giá trị tham số của bạn trước khi thêm chúng như một phần của URL. Javascript/TypeScript cung cấp chức năng encodeURI()
cho mục đích cụ thể đó.
Mã hóa URL chuyển đổi các ký tự thành định dạng có thể được truyền qua Internet. [w3Schools Reference]
Đây là cách bạn có thể khắc phục vấn đề này:
let encodedName = encodeURI('xyz+manwal');
let encodedURI = 'http://localhost:3000/page?name='+encodedName;
//.. OR using string interpolation
let encodedURI = `http://localhost:3000/page?name=${ encodedName }`;
Trong cùng một cách, bạn có thể giải mã các thông số sử dụng decodeURI()
phương pháp.
let decodedValue = decodeURI(encodedValue);
tại sao bạn cần điều đó? –
Tôi muốn sử dụng giá trị tên như 'xyz + manwal' trong URL đã cho hiện đang lưu' xyz manwal'. – Manwal
nó chỉ URL, bất cứ nơi nào bạn đọc nó cần được phân tích một cách chính xác như một cộng, bạn không thể sử dụng cộng trong URL. Đọc [này] (https://stackoverflow.com/questions/2678551/when-to-encode-space-to-plus-or-20) –