2012-05-24 76 views
1

我寫的金額3號與快遞和玉一些腳本...定義對象的JavaScript

上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代碼 - 的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); 

但每次經由節點開始JS文件時app.js該對象沒有定義我GOY消息,並且在玉文件中的一些錯誤:

如何在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

我想你需要將結果的第二個參數傳遞給get路由中的渲染方法(就像你已經在post路由中做的那樣)。

試試這個:

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

這將使視圖中的result變量可用的(在這個例子中一個空字符串的值)。

+0

是的,但現在我有一個錯誤:錯誤:無法定位視圖「佈局」 ??? –

+0

我也嘗試:res.render('index',{result:0}); –

+0

感謝它的工作:layout:false –