2012-04-30 35 views
5

Tôi hơi mới với javascript và tôi gặp sự cố nhỏ:Có dấu và trong tham số chuỗi truy vấn

Tôi đang cố chuyển hướng đến một trang (sau đó thực hiện chuyển hướng) trong javascript. Tôi đang thiết lập các window.location như vậy:

window.location = "./RedirectPage.aspx?ReturnUrl=page.aspx?key=val&key2=val2"; 

Bây giờ, trên RedirectPage.aspx khi nó đang cố gắng để chuyển hướng đến trang mà tôi thông qua tại làm ReturnUrl, nó được phân tích cú pháp khóa2 = VAL2 như là một tham số chuỗi truy vấn cho RedirectPage thay vì ReturnUrl.

Điều đó có nghĩa là nó làm điều đó, nhưng đó không phải là những gì tôi đang cố gắng làm ... bất kỳ ý tưởng làm thế nào tôi có thể giải quyết này?

+0

Ký hiệu của bạn đã được mã hóa ở đâu đó. Bạn sẽ cần kiểm tra xem mã hóa đang diễn ra ở đâu. – kinakuta

Trả lời

12

Bạn muốn URL mã hóa chuỗi truy vấn ReturnUrl.

window.location = "./RedirectPage.aspx?ReturnUrl="+encodeURIComponent("page.aspx?key=val&key2=val2"); 
+1

+1 Cảm ơn bạn rất nhiều! –

2

Hãy thử điều này:

window.location = "./RedirectPage.aspx?"+encodeURIComponent("ReturnUrl=page.aspx?key=val&key2=val2") 

Bạn cần phải thoát khỏi dấu và (để sử dụng trong một chuỗi truy vấn).

+1

Rất gần. Khi nó bật ra, ReturnUrl = cần thiết để được bên ngoài của encodeURIComponent. 1 cho cả bạn và Theron, nhưng anh ấy đúng hơn. Cảm ơn bạn. –

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