在javascript中定义对象

时间:2012-05-24 18:49:44

标签: javascript node.js pug

我用快递和玉石写了一些用于3个数字的脚本...

在index.jade上

我有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') 
    span #{result}

和服务器端(js code- node.js)我有这个代码:

var express = require('express');
        app = express.createServer();

app.configure(function(){
    app.set('views', __dirname + '/views');
    app.set('view engine', 'jade');
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(app.router);
    app.use(express.static(__dirname + '/public'));
});
app.use(express.bodyParser());
    app.get('/', function(req, res){
     res.render('index');
    });


    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.render('index', {result:r});

    });
app.listen(3010);

但是每次我通过节点app.js启动js文件时,我发出消息说没有定义对象,而且jade文件中有一些错误:

如何在app.js文件中定义对象?

错误:

ReferenceError: C:\Users\PC\glowing-frost-5319/views/index.jade:14
    12. '      input#3(type=\'text', name='3')
'
    13. '      input(name=\'submit', type='button', value='submit') 
'
    14. '    #{result}'

result is not defined
    at Object.<anonymous> (eval at <anonym... etc.

任何人都可以告诉我如何定义对象结果以及如何在index.jade页面上显示?

1 个答案:

答案 0 :(得分:0)

我认为您需要将第二个参数中的结果传递到get路线中的渲染方法(正如您在post路线中所做的那样)。

试试这个:

app.get('/', function(req, res){
    res.render('index', {result: ''});
});

这将使result变量在您的视图中可用(在此示例中值为空字符串)。