2014-10-31 25 views
0

使用Node.js的快遞框架正在和停留在這是我必須服從我的HTML表單值的問題。此environmentnd M M全新使用node.i下一個頁面有三個文件夾中有一個控制器,第二個意見和第三個是公共.. 這裏是我的HTML表單如何從一個頁面提交HTML表單的值到另一個使用Node.js的表達框架

<form action="/myaction" method="post"> 
     <fieldset> 
      <label for="name">Name:</label> 
      <input type="text" id="name" name="name" placeholder="Enter your full name" /> 
      <label for="email">Email:</label> 
      <input type="email" id="email" placeholder="Enter your email address" /> 
      <label for="message">Message:</label> 
      <textarea id="message" placeholder="What's on your mind?"></textarea> 
      <input type="submit" value="Send message" /> 
     </fieldset> 
    </form> 

,這裏是我的app.js

var express = require('express'); 
var http = require('http'); 
var cons=require('consolidate'); 
var path = require('path'); 
var bodyParser= require('body-parser'); 
var methodOverride = require('method-override'); 
var Controllerdefault = require('./controllers/default'); 
var app = express(); 
app.engine('html',cons.swig); 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'html'); 
var hour = 3600000; 
var day = hour*24; 
var week = day * 7; 
app.use(express.static(path.join(__dirname,'public'), 
{ 
maxAge:week})); 
app.use(express.bodyParser()); 
app.post('/myaction', function(req, res) { 
    res.send('You sent the name "' + req.body.name + '".'); 
}); 
app.get('/' , Controllerdefault.index); 
app.get('/home' , Controllerdefault.index2); 
app.get('/new' , Controllerdefault.index3); 
console.log('Express app started on port 3000'); 
app.listen(3000); 

任何身體告訴我,我怎麼能因爲我這樣做,但錯誤進來提交值CMD就是這樣..

Error: Most middleware (like bodyParser) is no longer bundled with Express and m 
ust be installed separately. Please see https://github.com/senchalabs/connect#mi 
ddleware. 
    at Function.Object.defineProperty.get (C:\Users\Tahir\Desktop\node_modules\e 
xpress\lib\express.js:89:13) 
    at Object.<anonymous> (C:\Users\Tahir\Desktop\firstapp\app.js:20:17) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:906:3 

回答

1

您應該單獨安裝體的解析器,因爲你使用的快遞4. npm install body-parser,然後用它

    var bodyParser = require('body-parser'); 

詳細內容見https://github.com/expressjs/body-parser

+0

我做它相同的,但正如我所說 – user3675298 2014-10-31 10:49:52

+0

你的問題是在這裏同樣的錯誤occour:'app.use(express.bodyParser());''嘗試app.use(bodyParser());'或'app.use(bodyParser.json ());' – Paramore 2014-10-31 10:57:42

+0

感謝名單了很多我已經成功地完成 – user3675298 2014-11-05 06:02:53

相關問題