使用解耦的前端和后端重定向

Redirecting with a decoupled front and back end

我有一个 express 服务器,上面有我的 front-end,还有一个有我的 REST API。

我的 front-end 可以正常访问 back-end 路由,但我希望能够将 front-end 重定向到不同的页面(在同一个 front-end server) 取决于该路由中的逻辑,我不确定当它们像这样解耦时该怎么做?

在我目前尝试使用的 back-end 路线中:

res.redirect('http://frontendIP:port/pageIWantToGetTo.html');

这导致没有 'access-control-allow-origin' header 错误。

所以我将 header 添加到我的 webpack 配置中,这解决了那个错误

devServer: {
        headers: {
            'Access-Control-Allow-Origin': '*'
        }
    },

我的前端识别重定向(在网络选项卡中)

login.html 200 xhr

发起者记录为:8080/correctBackendRoute

但页面根本没有变化。我做错了吗?

谢谢

*编辑:仔细想想,重定向有意义吗?实际上,它应该告诉前端提供另一个 html 文件,而不是在其他地方发出请求。我有点不知所措!

如果您的前端正在执行 API 调用,并且该 API 调用正在使用重定向进行回复,我不希望前端本身切换到新页面。只有在您进行 API 调用自身的地方,该客户端才应遵循重定向并在之后点击它。

如果您希望后端与前端通信:请刷新文档并转到这个新的 url,我认为这是一个 不寻常的地方。这种逻辑通常被嵌入到前端代码中。

想想这是一种方式,如果有多个客户端访问您的 API,如果 API 回复的内容只对您的前端有意义。