How to redirect the user to a different page when using fetch and await?












0














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);

});









share|improve this question







New contributor




Shailesh Iyer is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • window.location or window.open
    – Shilly
    2 days ago








  • 1




    The option name is redirect not redirected. 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
















0














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);

});









share|improve this question







New contributor




Shailesh Iyer is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • window.location or window.open
    – Shilly
    2 days ago








  • 1




    The option name is redirect not redirected. 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














0












0








0


1





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);

});









share|improve this question







New contributor




Shailesh Iyer is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











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






share|improve this question







New contributor




Shailesh Iyer is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




Shailesh Iyer is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




Shailesh Iyer is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 2 days ago









Shailesh Iyer

41




41




New contributor




Shailesh Iyer is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Shailesh Iyer is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Shailesh Iyer is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • window.location or window.open
    – Shilly
    2 days ago








  • 1




    The option name is redirect not redirected. 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








  • 1




    The option name is redirect not redirected. 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












2 Answers
2






active

oldest

votes


















0














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






share|improve this answer





























    0














    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;
    });





    share|improve this answer





















      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.










      draft saved

      draft discarded


















      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









      0














      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






      share|improve this answer


























        0














        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






        share|improve this answer
























          0












          0








          0






          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






          share|improve this answer












          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







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 2 days ago









          messerbill

          2,8511024




          2,8511024

























              0














              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;
              });





              share|improve this answer


























                0














                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;
                });





                share|improve this answer
























                  0












                  0








                  0






                  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;
                  });





                  share|improve this answer












                  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;
                  });






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 2 days ago









                  Sumer

                  21218




                  21218






















                      Shailesh Iyer is a new contributor. Be nice, and check out our Code of Conduct.










                      draft saved

                      draft discarded


















                      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.




                      draft saved


                      draft discarded














                      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





















































                      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







                      Popular posts from this blog

                      generate and download xml file after input submit (php and mysql) - JPK

                      Angular Downloading a file using contenturl with Basic Authentication

                      Can't read property showImagePicker of undefined in react native iOS