【问题标题】:res.redirect() outputs to browser "Found. Redirecting to <url>"res.redirect() 输出到浏览器“找到。重定向到 <url>”
【发布时间】:2019-11-01 06:44:15
【问题描述】:

我找到了我的问题的答案,这完全超出了我最初提出的问题的范围——实际上有一行代码故意将这个输出写入屏幕。因为stackoverflow不允许我删除问题,所以原来的问题仍然存在……

我有一个在开发环境中运行良好的节点应用程序,但是当我在本地运行它时(使用npm run start)并且当一个单独的服务提交一个 POST 请求时:

final ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, request, String.class);

我遇到了这个问题:

res.redirect(302, 'http://google.com');

这行显示在浏览器中,而不是重定向:

Found. Redirecting to http://google.com

我在 Firefox 和 Chrome 上试过。浏览器或终端中没有错误。我没有看到任何重定向配置。为什么在本地运行时会出现这种情况?

【问题讨论】:

  • 你能把你得到的整个回复包括进来吗?为此,请使用 -i 选项运行 curl。如果您不能直接在相关 URL 上运行 curl,Chrome 开发工具允许右键单击请求,然后单击 Copy -&gt; Copy as curl
  • @jfriend00 感谢您的帮助,但没有周末访问权限。正如我在问题文本中编辑的那样,有一个服务正在对端点执行 POST,该端点运行具有问题的重定向功能。
  • 什么是“做 POST 的服务”。是来自浏览器吗?是表格帖吗?还是 Ajax 调用?还是来自浏览器之外的某个代码?我问是因为只有在某些情况下会自动遵循重定向响应并显示重定向的内容。我们需要了解这种情况的确切情况,以便就此主题提供建议。将来,如果您暂时无法访问,请不要发布。在您可以访问一段时间时发布。

标签: javascript node.js redirect


【解决方案1】:

假设 resexpress 响应对象,您可以检查几件事: 1. 当您得到重定向响应时,浏览器控制台是否有任何错误? 2. 检查您的快速配置文件(CORS ?‍♂️)中的任何外部重定向配置。这些通常是特定于环境的配置。

附:您可以删除 302 并将 URL 传递给 redirect 函数。如果您使用 express,则默认值为 302。

【讨论】:

  • @Gautum 我已经更新了问题——没有错误,也没有重定向配置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-18
  • 1970-01-01
  • 1970-01-01
  • 2021-10-10
  • 2017-11-26
  • 2011-11-02
相关资源
最近更新 更多