Javascript Express.js和表单验证

Javascript Express.js和表单验证,javascript,node.js,express,pug,Javascript,Node.js,Express,Pug,我正在尝试创建一个简单的节点,使用express.js脚本将3个数字相加 关于索引,我有以下内容: 翡翠索引 !!! 5 html head title Test body form(name='form1', method='post', action='/') label(for='1') input#1(type='text', name='1') label(for='2') input#2(type='text',

我正在尝试创建一个简单的节点,使用express.js脚本将3个数字相加

关于索引,我有以下内容:

翡翠索引

!!! 5
html
  head
    title Test
  body
    form(name='form1', method='post', action='/')
      label(for='1')
      input#1(type='text', name='1')
      label(for='2')
      input#2(type='text', name='2')
      label(for='3')
      input#3(type='text', name='3')
      input(name='submit', type='button', value='submit')
    #result
我现在正在用req和res对象编写serverside-app.js,但是如何返回结果。。。同样结果=1id+2id+3id

app.js

var express = require('express');
    app = express.createServer();
app.use(express.bodyParser());
app.post('/', function(req, res){
  var i = req.param('1', null);
  var j = req.param('2', null);
  var k = req.param('3', null);
  var r = i+j+k;
  res.send(r);

});
如何将结果(r)发送到索引上的div id Result.jade。。。那么,如何将结果返回到index.jade


这里还有pastebin代码:。。。我是node新手,我对这个愚蠢的问题表示歉意…

很简单,只需调用“index.jade”渲染来传递数据(而不是“res.send(r);”):

并在jade文件中显示“结果”变量:

#result #{result}

有关和的其他信息

i only get not get/message。。。为什么?你必须声明两个路由:一个是app.get('/',req,res),它只调用res.render('/',index');另一个是app.post('/',req,res),它将执行计算并调用res.render('index',{result:r})。好吧,我在床上用iPhone写东西。检查我在回答中链接的express文档,您需要的一切都在其中。解释:您在HTTP GET方法上设置了“经典”路由,以便正常显示页面(当用户在浏览器中键入地址或跟随链接时…),此外,您在同一URL(“/”)上有一个路由,但在POST方法(基本HTTP)上有一个路由使用时请提交表格。在这种情况下,您不仅可以呈现页面,还可以检索数据,计算结果并将其传递给呈现器。这意味着:缩进无效,您可以使用制表符或空格,但不能同时使用两者
#result #{result}