Я начал Node.js и общую сеть несколько раз назад, и теперь у меня есть проект, где мне нужно разработать веб-сервер с API в nodejs, работающем на Express, и я хочу это сделать правильно, но я не уверен, есть ли хороший способ сделать это.Node.js Запрос на отправку API/сервера
Речь идет о каждом посте просьбы я направляю к моему API, вот пример:
Регистрация:
У меня есть маршрут app.get('/signup')
и я посылаю запрос на мой пост API для создания нового пользователя. Поэтому с моей догадкой я отправляю форму с action = /signup
method = "post"
, что означает, что на моем сервере у меня есть app.post ('/ signup'). В этом сообщении я создаю почтовый запрос со всей информацией в моей форме, и я отправляю его в свой API, который создает пользователя и отправляет обратно на app.post('/signup')
ответ. Таким образом, в основном, здесь схема:
Get('/signup') -> Post('/signup') -> API('createUser') -> Post('signup')
Тогда я хотел бы вернуться к моему app.get («/ регистрации»), потому что я не хочу, чтобы отправить HTML-форм пост один, и сказать " Эй, это нормально "вместо того, чтобы показывать форму, поэтому я делаю перенаправление, но как я могу узнать, что показывать в Get('/signup')
? Могу ли я отправить переменную, чтобы узнать, что показывать пользователю? И кстати, это правильный способ сделать это?
Спасибо!
PS: это не выглядит очень ясно, так что здесь код:
app.get('/signup', function(req, res) {
res.setHeader('Content-Type', 'text/html');
if (req.session.userId) { res.end("Connected as " + req.session.name); }
else {
res.end('<html><p>As a guest, you\'re signing up : </p><form action="/signup" method="post">' +
'First name: <input type="text" name="firstname"><br>' +
'Last name: <input type="text" name="lastname"><br>' +
'email: <input type="text" name="email"><br>' +
'password: <input type="text" name="password"><br>' +
'role: <input type="text" name="role"><br>' +
'<input type="submit" value="Submit">' +
'</form></html>');
}
});
app.post('/signup', function(req, res) {
request.post({
url: 'http://localhost:4242/signup',
form : {
firstname : req.body.firstname,
lastname : req.body.lastname,
email : req.body.email,
role : req.body.role,
password : req.body.password
}},
function (error, response, body) {
res.redirect('/signup');
});
});
Это хороший способ сделать это? Есть ли другой способ отправить переменную из сообщения, чтобы получить за исключением переменной сеанса? (с перенаправлением)?
Я просто не могу понять ваш вопрос. Пожалуйста, сделайте это более четко. – petwho