0
网页应用程序路由新手在这里。我有一个基于Node/Express的相对简单的应用程序。快速呈现/发布后
该应用程序的主要索引是用户名和ID列表。
localhost:242
每个用户ID是一个链接到一个网页的表单输入关于特定用户额外的元数据。
localhost:242/user/1398
一切工作正常。当我输入一些关于用户的元数据并提交表单时,会执行一条POST路由,然后我被重定向回到原来的页面。我希望能够重新呈现同一页面,而不是使用重定向,所以我可以传递一些确认消息,指出刚刚更改的内容。
这里是我的代码的简化版本。
// Module imports
var express = require('express');
var validator = require('express-validator');
var router = express.Router();
router.get('/', function(req, res, next) {
db.dataTalk(queryUsers, null, config.connection, function(err, result) {
var listUsers = result;
res.render('index', {
// Index with list of users
title: 'Page Title',
listUsers: listUsers
});
});
});
// GET /user/:id
router.get('/user/:id', function(req, res, next) {
db.dataTalk(queryUserDeets, [req.params.id], config.connection, function(err, result) {
// Details for a single user
var userDetails = result;
res.render('user', {
title: req.params.id,
userDetails: userDetails
});
});
});
// POST /user-update
router.post('/user-update', function(req, res) {
// Here goes a lot of logic to validate the form contents, and update the appropriate databases
// Redirect back to the user page, which should display the updated metadata
res.redirect('/user/' + req.body.userInitID);
});
module.exports = router;
是不是有一个原因,你不只是用'res.render()'替换重定向? – jfriend00