gpt4 book ai didi

node.js - 如何将数据从一条路线传输到另一条路线

转载 作者:太空宇宙 更新时间:2023-11-03 23:14:45 25 4
gpt4 key购买 nike

我实现了用户注册。我有两条路线。

import express from 'express';
import User from '../models/user';

const router = express.Router();

router.post('/signup', async (req, res) => {
try {
...
const user = new User(
red.body.name,
red.body.username,
red.body.user_email,
red.body.user_password,
red.body.user_phone,
);
...
} catch (err) {
return res.status(500).json({
err: err
});
}
});

router.post('/verify', async (req, res) => {
try {
...
console.log(user);
...
} catch (err) {
return res.status(500).json({
err: err
});
}
});

我需要将数据从路线、用户注册发送到路线、用户确认。

如何将用户数据发送到第二条路由进行确认?

最佳答案

有 2 种策略来实现此功能(也许更多):

策略 1:将用户存储在服务器中。

您可以存储user对象并在服务器中为其分配一个唯一的 key (例如uuid)。 用户数据可以存储为全局变量(在 Node.js 进程的内存中),或者如果您使用多个 Node.js 进程,也可以将其存储在内存数据库(例如 Redis)中。

POST/signup路由处理程序中,user数据可以写入服务器,并且这个新创建的用户ID将返回到浏览器。然后,在POST/verify路由处理程序中,服务器将通过其id检索相应的用户数据。

策略 2:在浏览器中存储用户

另一种策略是在POST/signup路由处理程序中将整个user数据返回到浏览器,并让浏览器在接下来的POST/verify请求中将其发送回来。有两种方法可以实现这个设计(也许更多):

  • 通过Set-Cookie用户数据返回到浏览器。浏览器会自动将用户数据作为cookie发送。

  • 用户数据作为纯响应正文返回到浏览器。浏览器将其保存在 localStorage 或 sessionStorage 中。然后,当发送 POST/verify 请求时,浏览器会读取该数据并将其作为纯 HTTP 请求正文。

关于node.js - 如何将数据从一条路线传输到另一条路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56881143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com