【问题标题】:Is there a way to both redirect and send json in express?有没有办法同时重定向和发送 json 快递?
【发布时间】:2015-05-14 23:36:30
【问题描述】:

我有一个注册功能,可以在我的应用程序中向用户发送一封确认电子邮件,我想做类似以下的事情:

return res.status(200).redirect('/').json({
  message: 'Successfully confirmed your account!'
});

我知道这行不通,但我认为它证明了我想要的。我正在使用 AngularJS,这就是我需要将 JSON 呈现给客户端的原因。我怎样才能最好地做到这一点?

【问题讨论】:

  • 如果你使用AngularJS,为什么不通过JS发出HTTP请求,然后正常返回JSON?
  • 我对你的意思有点困惑。我正在通过注册页面向服务器发出 HTTP 请求。这是我的服务器代码处理从用户 id 生成的确认路由,通过电子邮件发送。当用户点击链接时,路由会在数据库中的文档中添加一个确认字段,然后重定向回 Angular 应用程序。 (例如:确认/:id,-> /home)
  • 啊,好吧。我没有正确阅读您的问题。

标签: json angularjs express


【解决方案1】:

没有办法让浏览器以某种方式在请求中转发响应正文数据。然而,有多种方法可以实现您想要做的事情:

  1. 最简单的方法:只需将消息作为查询字符串参数发送。这当然使任何人都可以制作带有消息的 URL,因此您可能想要验证或只是传递一个密钥并根据该密钥查找消息。
  2. 使用会话并将消息放入其中。显示后删除。这些通常被称为“快讯”。
  3. 您也可以为此在数据库中设置一个标志,但使用整个字段来显示消息似乎有点过头了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多