在使用 fetch 和 wait 对我的网站 api 进行 POST 调用后,我一直尝试将用户重定向到不同的页面。我收到一条回复,上面写着 GET localhost:10004/page。通常在 $.ajax 或 xmlHTTPRequest 中它会自动重定向,但是当使用新的 fetch 和 wait 语法时,它无法自动重定向。
这是我的代码。
我已经尝试过使用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);
});
Run Code Online (Sandbox Code Playgroud)
编辑:1 将重定向键更改为重定向。我想澄清一下,我想在没有 window.location 方法(如 window.location.replace 或 window.location.href )的情况下实现重定向。所以经过一个月左右的时间解决这个问题。我想我在使用 fetch api 时已经解决了这个问题。浏览器确实从客户端向服务器发送另一个请求到重定向位置。但有趣的是,它不是一个文档请求,而是一个获取请求,浏览器假设它不必呈现并且与客户端异步。接收 html 输出,但浏览器拒绝在窗口中呈现页面。