Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
26
rated 0 times [  32] [ 6]  / answers: 1 / hits: 19194  / 9 Years ago, tue, march 17, 2015, 12:00:00

Right now redirection is made simply by saying



window.location = /relative_path/;


What I want to do is to add a query parameter along with this redirection, so the destination page can look at that, and after some action was taken it could redirect further to that page.



Example for that use is a login system. When the user's token expires, he is redirected to the login page. At the time of the redirection I want to pass along the exact URL (including query parameters in the URL) to the login page, so after a successful login the user could be redirected back exactly to the point where he/she was.



I tried to pass the path as a URL parameter, but that doesn't work because of escaping issues: the redirect url uses the same characters (?, =, ...), which confuses the system, and the parameters get truncated.



So something like that, but this obviously doesn't work:



window.location = /login?redirect=/original_location?p1=vl1&p2=v2


Any suggestion is appreciated.


More From » javascript

 Answers
5

You can use encodeURIComponent()




The encodeURIComponent() method encodes a Uniform Resource Identifier (URI) component by replacing each instance of certain characters by one, two, three, or four escape sequences representing the UTF-8 encoding of the character (will only be four escape sequences for characters composed of two surrogate characters).




Example



window.location = /login?redirect= + encodeURIComponent(/original_location?p1=vl1&p2=v2)

[#67411] Saturday, March 14, 2015, 9 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
shianncaylinc

Total Points: 502
Total Questions: 80
Total Answers: 105

Location: Botswana
Member since Sat, Jan 7, 2023
1 Year ago
;