如何在前端使用电子邮件链接?

问题描述

我在我的 API 中内置了一些功能,用于向用户发送验证电子邮件,然后当向路由发出获取请求时,用户将变为活动状态并可用于登录。为了在前端完成这项工作,我使用了 res.redirect 将我带到登录页面

然而,问题在于,这意味着当我想在邮递员中复制这段旅程时,我会收到大量 html 而不是格式化的 json 响应。所以我的问题是,有没有一种方法可以处理这个请求,以便根据调用它的位置,发回不同的响应?因为我认为事件侦听器不适用于电子邮件

对于上下文,我的应用程序使用 nodejs、mongodb 和 pug 模板。

`exports.signup = catchAsync(async (req,res,next) => {
  const { token } = req.params;
  const { email } = jwt.verify(token,process.env.JWT_SECRET);

  const user = await User.findOne({ email });

  if (!user || !((await user.signUpId) === token)) {
    return next(new AppError('Invalid link',401));
  }

  user.ready = true;
  user.singUpId = undefined;

  await user.save({ validateBeforeSave: false });

  const url = `${req.protocol}://${req.get('host')}/me`;
  await new Email(user,url).sendWelcome();

  await res.redirect('http://localhost:5000/login');
});`

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)