我正在使用节点和expressto图形用户数据开发一个小型JS应用程序,该用户数据随表单一起输入然后发布。
到目前为止,我已经按照以下方式获取该页面的post方法来捕获数据。
app.post('/barchartentry', function(req, res){
var barValues = req.body.myInputs;
var labelValues = req.body.myLabel;
console.dir(barValues);
console.dir(labelValues);
});
我的问题是我想现在渲染一个新的空白页面,我将使用绘图并渲染图形,我需要上面的数据。这些数据是否可以在下一页的“res”中找到?如何将数据移动或放置在某处,以便我可以使用客户端JS轻松访问它以使用画布绘制内容并绘制输入图形?
答案 0 :(得分:1)
您发布到/ barchartentry的数据在您渲染的下一页上不会自动显示,但您可以轻松将其传递到下一页:
app.post('/barchartentry', function(req, res){
var barValues = req.body.myInputs;
var labelValues = req.body.myLabel;
console.dir(barValues);
console.dir(labelValues);
// pass an object to the view to render with the data that you need
data = {title: 'my chart', values: barValues, labels: labelValues);
res.render('chartview', data);
});
在您的视图中(示例中为chartView
),您可以在呈现HTML时访问这些值。例如,如果您使用EJS作为视图模板,则可以执行以下操作:
<h1><%= title %></h1>
<% for (var i = 0; i < values.length; i++) {
value: <%= values[i] %>
} %>