You need to redirect a user to another page using JavaScript and the DOM. The redirect might even need to be conditional, like after you made an API call to add a user to a mailing list and the user was successfully added.
if (api.response.success) { // Need some way to take the user to a new page here } else { // Show API response error message }
Generally, an HTTP response is the best option for redirecting, with HTML <meta>
elements being the second-best option, but perhaps neither are available to you, or they don’t fit into the user experience you are trying to create.
Navigating to a new page can be done using window.location.assign()
.
if (api.response.success) { // Redirect to success page window.location.assign("https://yourdomain.com/success"); } else { // Show API response error message }
By using assign()
, the user will be able to get back to the landing page using the “back” button, as this does not change the browser’s history.
An alternative solution, which will replace the current page in the browser history just like HTTP redirects, is to use window.location.replace()
.
if (api.response.success) { // Redirect to success page window.location.replace("https://yourdomain.com/success"); } else { // Show API response error message }
This solution may not be ideal for something like a mailing list landing page, or any page where it’s important to preserve the “back” button’s behavior, as this will replace the user’s history. To preseve the “back” button behavior, rather use assign()
.