How to redirect the user to a different page when using fetch and await?
I have been trying to redirect the user to a different page after a POST call to my site api with fetch and await. I am receiving a response which says GET localhost:10004/ page. Usually in $.ajax or xmlHTTPRequest it redirects automatically but when using the new fetch and await syntax it fails to redirect automatically.
Here is my code.
I have already tried using redirected = "follow" it does not redirect after that.
fetch('http://localhost:10004/api', {
method: 'POST', // or 'PUT'
body: JSON.stringify(obj),
headers: {
'Content-Type': 'application/json'
},
redirected: 'follow'
})
.then(response => {
//what to write here to redirect the user
}).catch(error => {
console.error('Error:', error);
});
javascript ecmascript-6
New contributor
add a comment |
I have been trying to redirect the user to a different page after a POST call to my site api with fetch and await. I am receiving a response which says GET localhost:10004/ page. Usually in $.ajax or xmlHTTPRequest it redirects automatically but when using the new fetch and await syntax it fails to redirect automatically.
Here is my code.
I have already tried using redirected = "follow" it does not redirect after that.
fetch('http://localhost:10004/api', {
method: 'POST', // or 'PUT'
body: JSON.stringify(obj),
headers: {
'Content-Type': 'application/json'
},
redirected: 'follow'
})
.then(response => {
//what to write here to redirect the user
}).catch(error => {
console.error('Error:', error);
});
javascript ecmascript-6
New contributor
window.location
orwindow.open
– Shilly
2 days ago
1
The option name isredirect
notredirected
. Why do you need to do a redirect in the request anyway?
– charlietfl
2 days ago
1
Do you want to a) redirect the POST request on the server and fetch to follow it or b) redirect to another page on the client, after a successful fetch POST? It sounds like a) from your claim that$.ajax
does this automatically, but your title and question text suggest b)
– Chris G
2 days ago
Why are you using AJAX at all if you just want to redirect the user?
– Bergi
2 days ago
I need to first process the data sent by the user and then redirect the user to a specific page on the website.I dont want to expose the redirect location on the client side.
– Shailesh Iyer
2 days ago
add a comment |
I have been trying to redirect the user to a different page after a POST call to my site api with fetch and await. I am receiving a response which says GET localhost:10004/ page. Usually in $.ajax or xmlHTTPRequest it redirects automatically but when using the new fetch and await syntax it fails to redirect automatically.
Here is my code.
I have already tried using redirected = "follow" it does not redirect after that.
fetch('http://localhost:10004/api', {
method: 'POST', // or 'PUT'
body: JSON.stringify(obj),
headers: {
'Content-Type': 'application/json'
},
redirected: 'follow'
})
.then(response => {
//what to write here to redirect the user
}).catch(error => {
console.error('Error:', error);
});
javascript ecmascript-6
New contributor
I have been trying to redirect the user to a different page after a POST call to my site api with fetch and await. I am receiving a response which says GET localhost:10004/ page. Usually in $.ajax or xmlHTTPRequest it redirects automatically but when using the new fetch and await syntax it fails to redirect automatically.
Here is my code.
I have already tried using redirected = "follow" it does not redirect after that.
fetch('http://localhost:10004/api', {
method: 'POST', // or 'PUT'
body: JSON.stringify(obj),
headers: {
'Content-Type': 'application/json'
},
redirected: 'follow'
})
.then(response => {
//what to write here to redirect the user
}).catch(error => {
console.error('Error:', error);
});
javascript ecmascript-6
javascript ecmascript-6
New contributor
New contributor
New contributor
asked 2 days ago
Shailesh Iyer
41
41
New contributor
New contributor
window.location
orwindow.open
– Shilly
2 days ago
1
The option name isredirect
notredirected
. Why do you need to do a redirect in the request anyway?
– charlietfl
2 days ago
1
Do you want to a) redirect the POST request on the server and fetch to follow it or b) redirect to another page on the client, after a successful fetch POST? It sounds like a) from your claim that$.ajax
does this automatically, but your title and question text suggest b)
– Chris G
2 days ago
Why are you using AJAX at all if you just want to redirect the user?
– Bergi
2 days ago
I need to first process the data sent by the user and then redirect the user to a specific page on the website.I dont want to expose the redirect location on the client side.
– Shailesh Iyer
2 days ago
add a comment |
window.location
orwindow.open
– Shilly
2 days ago
1
The option name isredirect
notredirected
. Why do you need to do a redirect in the request anyway?
– charlietfl
2 days ago
1
Do you want to a) redirect the POST request on the server and fetch to follow it or b) redirect to another page on the client, after a successful fetch POST? It sounds like a) from your claim that$.ajax
does this automatically, but your title and question text suggest b)
– Chris G
2 days ago
Why are you using AJAX at all if you just want to redirect the user?
– Bergi
2 days ago
I need to first process the data sent by the user and then redirect the user to a specific page on the website.I dont want to expose the redirect location on the client side.
– Shailesh Iyer
2 days ago
window.location
or window.open
– Shilly
2 days ago
window.location
or window.open
– Shilly
2 days ago
1
1
The option name is
redirect
not redirected
. Why do you need to do a redirect in the request anyway?– charlietfl
2 days ago
The option name is
redirect
not redirected
. Why do you need to do a redirect in the request anyway?– charlietfl
2 days ago
1
1
Do you want to a) redirect the POST request on the server and fetch to follow it or b) redirect to another page on the client, after a successful fetch POST? It sounds like a) from your claim that
$.ajax
does this automatically, but your title and question text suggest b)– Chris G
2 days ago
Do you want to a) redirect the POST request on the server and fetch to follow it or b) redirect to another page on the client, after a successful fetch POST? It sounds like a) from your claim that
$.ajax
does this automatically, but your title and question text suggest b)– Chris G
2 days ago
Why are you using AJAX at all if you just want to redirect the user?
– Bergi
2 days ago
Why are you using AJAX at all if you just want to redirect the user?
– Bergi
2 days ago
I need to first process the data sent by the user and then redirect the user to a specific page on the website.I dont want to expose the redirect location on the client side.
– Shailesh Iyer
2 days ago
I need to first process the data sent by the user and then redirect the user to a specific page on the website.I dont want to expose the redirect location on the client side.
– Shailesh Iyer
2 days ago
add a comment |
2 Answers
2
active
oldest
votes
you can achieve your redirect by setting window.location
Object:
window.location.href = "https://www.google.com"
https://developer.mozilla.org/en-US/docs/Web/API/Window/location
add a comment |
In your example you are using only single then but it should be two like below.
fetch('https://httpbin.org/post', { method: 'POST', body: 'a=1' })
.then(res => res.json()) // expecting a json response
.then(json => {
console.log(json)
window.location.href = data.redirect;
});
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Shailesh Iyer is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53945402%2fhow-to-redirect-the-user-to-a-different-page-when-using-fetch-and-await%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
you can achieve your redirect by setting window.location
Object:
window.location.href = "https://www.google.com"
https://developer.mozilla.org/en-US/docs/Web/API/Window/location
add a comment |
you can achieve your redirect by setting window.location
Object:
window.location.href = "https://www.google.com"
https://developer.mozilla.org/en-US/docs/Web/API/Window/location
add a comment |
you can achieve your redirect by setting window.location
Object:
window.location.href = "https://www.google.com"
https://developer.mozilla.org/en-US/docs/Web/API/Window/location
you can achieve your redirect by setting window.location
Object:
window.location.href = "https://www.google.com"
https://developer.mozilla.org/en-US/docs/Web/API/Window/location
answered 2 days ago
messerbill
2,8511024
2,8511024
add a comment |
add a comment |
In your example you are using only single then but it should be two like below.
fetch('https://httpbin.org/post', { method: 'POST', body: 'a=1' })
.then(res => res.json()) // expecting a json response
.then(json => {
console.log(json)
window.location.href = data.redirect;
});
add a comment |
In your example you are using only single then but it should be two like below.
fetch('https://httpbin.org/post', { method: 'POST', body: 'a=1' })
.then(res => res.json()) // expecting a json response
.then(json => {
console.log(json)
window.location.href = data.redirect;
});
add a comment |
In your example you are using only single then but it should be two like below.
fetch('https://httpbin.org/post', { method: 'POST', body: 'a=1' })
.then(res => res.json()) // expecting a json response
.then(json => {
console.log(json)
window.location.href = data.redirect;
});
In your example you are using only single then but it should be two like below.
fetch('https://httpbin.org/post', { method: 'POST', body: 'a=1' })
.then(res => res.json()) // expecting a json response
.then(json => {
console.log(json)
window.location.href = data.redirect;
});
answered 2 days ago
Sumer
21218
21218
add a comment |
add a comment |
Shailesh Iyer is a new contributor. Be nice, and check out our Code of Conduct.
Shailesh Iyer is a new contributor. Be nice, and check out our Code of Conduct.
Shailesh Iyer is a new contributor. Be nice, and check out our Code of Conduct.
Shailesh Iyer is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53945402%2fhow-to-redirect-the-user-to-a-different-page-when-using-fetch-and-await%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
window.location
orwindow.open
– Shilly
2 days ago
1
The option name is
redirect
notredirected
. Why do you need to do a redirect in the request anyway?– charlietfl
2 days ago
1
Do you want to a) redirect the POST request on the server and fetch to follow it or b) redirect to another page on the client, after a successful fetch POST? It sounds like a) from your claim that
$.ajax
does this automatically, but your title and question text suggest b)– Chris G
2 days ago
Why are you using AJAX at all if you just want to redirect the user?
– Bergi
2 days ago
I need to first process the data sent by the user and then redirect the user to a specific page on the website.I dont want to expose the redirect location on the client side.
– Shailesh Iyer
2 days ago