2014-05-07 19 views
1

這是我server.js文件:Node.js的request.body不確定

var express = require("express"); 
var bodyParser = require("body-parser"); 
var controllers = require('./controllers'); 
var app = express(); 
controllers.init(app); 

app.set('view engine', 'vash'); 

app.use(bodyParser()); 
app.use(express.static(__dirname + "/public")); 
app.listen(5000); 

這是我index.js代碼控制器文件夾:

(function(controllers){ 
    var homeController = require('./homeController'); 

    controllers.init = function(app){ 
     homeController.init(app); 
    }; 
})(module.exports); 

這是我的homeController.js代碼:

(function(homeController){ 
    homeController.init = function(app){ 
     app.get('/', function(req, res){ 
      res.render('index', {title: "The Board"}); 
     }); 

     app.post("/", function(req, res){ 
      console.log(req.headers); 
      console.log(req.body); 

     }); 
    }; 
})(module.exports); 

這是我的HTML:

@html.extend('layout', function(model){ 
    @html.block('body', function(model){ 
     @if(model.error){ 
      <p class="text-error">Error occurred: @model.error</p> 
     } 

     <div class="row"> 
      <form action="/" method="post">Enter your name: 
       <input type="text" name="userName" placeholder="..." /> 
       <br> 
       <button type="submit">Submit</button> 
      </form> 
     </div> 
    }) 
}) 

當我發佈後動作req.body是未定義的。我怎麼解決這個問題?

回答

1

移動app.use(bodyParser());航線聲明之前controllers.init(app);

+0

謝謝!這是工作 – marinvirdol

+0

OMG ....這是關鍵......老闆。拯救我的一天... – Siten