使用解耦的前端和后端重定向
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 回复的内容只对您的前端有意义。
我有一个 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 回复的内容只对您的前端有意义。