收到提取POST请求的响应后,如何将用户重定向到页面?

时间:2019-01-29 05:05:06

标签: javascript node.js redirect fetch

我正在为使用javascript的fetch()API向node.js服务器发送POST请求的Web应用程序编写代码。在成功的请求服务器上,通过重定向进行响应,此重定向URL在fetch()api响应主体中接收。之后,我应该怎么做才能将用户从提取功能重定向到该URL。

fetch("/events/registration", {
          method: "POST",
          redirect:"follow",
          headers: {
            "Accept": "application/json , text/plain ,*/*",
            "Content-type": "application/json"
          },
          body: JSON.stringify({
            name,
            email,
          })
        })
.then((res)=>res.json())
.then((data)=>{console.log(data);if(data.err)alert(data.err);Response.redirect()});

作为回应,我在获取api中收到redirect:true , url: "LinkOfRedirection/redirect",现在该怎么做才能将用户从此处重定向到LinkOfRedirection / redirect。

2 个答案:

答案 0 :(得分:0)

// Sets the new location of the current window.
window.location = res.url;

// Sets the new href (URL) for the current window.
window.location.href = res.url;

// Assigns a new URL to the current window.
window.location.assign(res.url);

// Replaces the location of the current window with the new one.
window.location.replace(res.url);

// Sets the location of the current window itself.
self.location = res.url;

// Sets the location of the topmost window of the current window.
top.location = res.url;

或者您可以使用

res.redirect(301, res.url);

答案 1 :(得分:0)

一个简单的解决方案是这样的:

fetch('/api/login/' , { 方法:'POST', 标题:{ '内容类型':'应用程序/json', 'X-CSRFToken' : csrf, },

    body : JSON.stringify(data)
}).then(result => result.json())
.then(response => {
    
    if(response.status == 200){
        window.location.href = '/'
    }
    else{
        alert(response.message)
    }

})