2010-09-07 26 views
5

Tôi đang gặp sự cố khi mã hóa chuỗi để tôi có thể đặt biến vào liên kết. Tôi chắc chắn điều này thực sự đơn giản, nhưng tôi đã gặp rắc rối khi chuyển mọi thứ.jQuery encodeURI for href không hoạt động

$("a.inquiry").attr("href", "/inquiry/6933/text=" + encodeURI("text o")); 

Điều này không hiệu quả.

encodeURI("text o") 

Tuy trả:

link/text o 

Thay vì:

link/text%20 

Cũng thử:

$("a.inquiry").attr("href", encodeURIComponent("/inquiry/6933/text=" + "text o")); 
+0

Khi bạn gắn thẻ câu hỏi này với * encodeuricomponent *, bạn chưa thử điều đó chưa? – Gumbo

+1

encodeURIComponent sẽ hoạt động. Tôi đã thử mẫu bạn đã cung cấp và có vẻ như nó hoạt động. Nhìn vào http://jsfiddle.net/XdJCM/. – Zafer

Trả lời

13

Hãy thử với encodeURIComponent để thay thế.

+2

mà không hoạt động hoặc ;- (hoặc nó không hoạt động hoặc cái gì khác tôi đang làm là hoàn tác mã hóa sau đó? – holden

+0

@holden: Nó có thể được như vậy, 'encodeURIComponent' đã làm việc cho tôi luôn. – Sarfraz

+0

không làm việc với tôi cũng có, thực sự làm việc với dấu phẩy nhưng không phải cho không gian –

6

Tôi nghĩ rằng tôi đã gặp vấn đề tương tự, nhưng sau đó tôi nhận ra rằng tôi đang xem kết quả trong cả con chuộtOver của liên kết kết quả và trong thanh địa chỉ sau khi nhấp vào liên kết. Nó chỉ ra rằng trình duyệt của tôi đã được hiển thị không gian trong cả hai trường hợp - tức là khi tôi sao chép URI ra khỏi thanh địa chỉ và dán nó vào các emacs,% 20 tiết lộ chính nó.

+0

Wow, đây cũng là giải pháp cho tôi. – user3761308

Các vấn đề liên quan