Redirecting the client to another page
Answered
Dovekie posted this in #help-forum
DovekieOP
1. Client makes a request to
2. Server reads the data, creates the user and then sends an email confirmation
3. I then want the client to be redirected to
My problem is that if I redirect the client, the request is a "POST" and not a "GET" that will show the client the confirm signup page.
Any ideas on how I could solve this ?
/api/auth/signup with an email and password2. Server reads the data, creates the user and then sends an email confirmation
3. I then want the client to be redirected to
/auth/confirm-signupMy problem is that if I redirect the client, the request is a "POST" and not a "GET" that will show the client the confirm signup page.
Any ideas on how I could solve this ?
Answered by fuma
Correct, you can't redirect the user with a
fetch on the client side. Use router.push instead10 Replies
DovekieOP
Ideally I'd want the server redirecting the user to the
confirm-signup page. But the only thing that comes to my mind is to have the client navigate to the page with a router.push or somethingCorrect, you can't redirect the user with a
fetch on the client side. Use router.push insteadAnswer
DovekieOP
I see, just to be 100% certain.
There's no way for me to redirect the user from the server to a "confirm-signup" page, right ?
I hope my question is clear
There's no way for me to redirect the user from the server to a "confirm-signup" page, right ?
I hope my question is clear
Here's how I want the flow to take place from the user's perspective:
1. I'm at
2. I type in my password, and email
3. I submit and make a request to
4. If my credentials are good, I want to see the
So, the redirect can only be performed by the client by using
1. I'm at
/auth/signup2. I type in my password, and email
3. I submit and make a request to
/api/auth/signup4. If my credentials are good, I want to see the
confirm-signup screen. So I need to get redirected to itSo, the redirect can only be performed by the client by using
router.push() or can the server somehow redirect me too ?True, unless the user directly open
/api/auth/signup (if it is a GET API endpoint), they won't get redirectedbecause that will be awful if opening a request can cause redirection on the client side
DovekieOP
Copy copy If there's any piece of documentation you suggest I read so I can get a better understanding of these mechanisms please let me know
Otherwise, thank you very much for your help
Otherwise, thank you very much for your help
Actually it's not related to Next.js, read this docs:
https://developer.mozilla.org/en-US/docs/Web/API/Request/redirect
https://developer.mozilla.org/en-US/docs/Web/API/Request/redirect
You can use
follow in order to redirect the user, but that ignores client-side cache. With router.push, you can reuse the cache, resulting a better performance during redirection.DovekieOP
I see, thank you again