Javascript 当使用fetch和wait时,如何将用户重定向到不同的页面?

Javascript 当使用fetch和wait时,如何将用户重定向到不同的页面?,javascript,ecmascript-6,fetch,Javascript,Ecmascript 6,Fetch,在使用fetch和wait对我的站点api进行POST调用之后,我一直在尝试将用户重定向到另一个页面。我收到的回复是GET-localhost:10004/页。通常在$.ajax或xmlHTTPRequest中,它会自动重定向,但在使用新的获取和等待语法时,它无法自动重定向 这是我的密码 我已经尝试过使用redirect=“follow”它之后不会重定向 fetch('http://localhost:10004/api', { method: 'POST', // or

在使用fetch和wait对我的站点api进行POST调用之后,我一直在尝试将用户重定向到另一个页面。我收到的回复是GET-localhost:10004/页。通常在$.ajax或xmlHTTPRequest中,它会自动重定向,但在使用新的获取和等待语法时,它无法自动重定向

这是我的密码

我已经尝试过使用redirect=“follow”它之后不会重定向

fetch('http://localhost:10004/api', {
            method: 'POST', // or 'PUT'
            body: JSON.stringify(obj), 
            headers: {
                'Content-Type': 'application/json'
            },
           redirect: 'follow'
        })
        .then(response => {
            //what to write here to redirect the user
        }).catch(error => {
            console.error('Error:', error);

   });
编辑:1 将密钥重定向更改为重定向。 我想澄清一下,我希望在不使用window.location.replace或window.location.href等window.location方法的情况下实现重定向。因此,经过一个月左右的努力解决这个问题。我认为在使用fetchapi时,我已经解决了这个问题。
浏览器确实会从客户端向服务器发送另一个请求到重定向位置。但有趣的是,这不是一个文档请求,而是一个获取请求,浏览器假定它不必呈现,并且是异步的。客户端随后接收html输出,但浏览器拒绝在窗口。

您可以通过设置
窗口来实现重定向。位置
对象:

window.location.href = "https://www.google.com"

在您的示例中,您只使用了一个,但它应该是两个,如下所示

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

window.location
window.open
选项名为
重定向
重定向
。为什么您仍然需要在请求中执行重定向?您是想a)在服务器上重定向POST请求并进行后续提取,还是在成功提取POST后重定向到客户端上的另一页?这听起来像是一个)从你的说法来看,
$.ajax
自动做到这一点,但是你的标题和问题文本表明b)如果你只是想重定向用户,为什么要使用AJAX?我需要首先处理用户发送的数据,然后将用户重定向到网站上的特定页面。我不想在客户端公开重定向位置。这是真的,但这意味着我将在中公开url如果有人更改url,则会有风险的代码。