我是nodejs和expressjs的新手。
我正在创建一个非常简单的单页nodejs应用程序,它将从用户获取一个数字,并根据该值返回Neo4j数据库中的行数。
为此,我使用一个app.js文件,其中app.post()和app.get()方法都在那里。我正在尝试使用app.post()方法的值,即“行”进入app.get('/ post / output /')方法,但我无法做到这一点。
以下是我能写的代码:
app.get('/', function(req,res,next){
res.render('index1');
});
app.post('/post', function(req,res,next){
var Rows = req.body.Rows;
res.redirect('/post/output/');
});
app.get('/post/output/',function(req,res,next){
console.log(Rows);
session
.run('MATCH (N:NewsMedia) RETURN N ORDER BY N.Audience DESC LIMIT
{nameparam}',{nameparam:Rows})
.then(function(result){
var newsmedia = [];
result.records.forEach(function(record){
newsmedia.push({
name: record._fields[0].properties.name,
size: record._fields[0].properties.Audience
});
});
res.render('index',{
NewsMedia: newsmedia
});
})
.catch(function(err){
console.log(err);
});
})
答案 0 :(得分:-1)
如果您不是从客户端调用GET,则必须从post重定向到GET。此外,您不需要具有全局变量Name。
app.post('/', function(req,res,next){
Name = req.body.fName;
console.log(Name);
res.redirect('/register')
})
app.get('/',function(req,res,next){
console.log(Name);
next();
});
app.get('/',function(req,res){
console.log(Name);
session
.run('MATCH (N:NewsMedia) RETURN N ORDER BY N.Audience DESC LIMIT {nameparam}',{nameparam:Name})
.then(function(result){
var newsmedia = [];
result.records.forEach(function(record){
newsmedia.push({
name: record._fields[0].properties.name,
size: record._fields[0].properties.Audience
});
});
res.render('index',{
NewsMedia: newsmedia
});
})
.catch(function(err){
console.log(err);
});
})