我用快递和玉石写了一些用于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页面上显示?
答案 0 :(得分:0)
我认为您需要将第二个参数中的结果传递到get
路线中的渲染方法(正如您在post
路线中所做的那样)。
试试这个:
app.get('/', function(req, res){
res.render('index', {result: ''});
});
这将使result
变量在您的视图中可用(在此示例中值为空字符串)。